Use a helper classmethod to create machines
Add a HierarchicalFiniteMachine + Runner