State Pattern

Static states