start with state-pattern
implement all classes for state-pattern
Merge pull request #39 from marsteff/improve

Improve