Refactored strategy pattern into GameStateItem/GLContextItem