fixed 3 level deep nesting
Machine.state now returns State instance, instead of .to_s
Added .states and .all_states to machine