First of all, thank you for this library.
It isn't clear to me how the auto-generated model.is_<state>() methods for HSM substates are named in the case of non-standard separator characters. I am using a non-standard separator, -, because I'm working in a code base where snake_case is strongly desired for all methods. However, I think this is breaking the generation of is_ methods, because is_superstate_name-substate_name is, of course, not a legal Python identifier.
I could use camel case or some other scheme, but I'd strongly prefer not to...