Multiple Updates

Implement state manager
Refactor code to use state manager
Implement cashbox