Angular and State Pattern: Managing State Transitions