public StateTransition RegisterCarQueueing()
        {
            if (_isAllowedToLetTrafficThrough())
            {
                return(StateTransition.Push(new RedLightAboutToChange()));
            }

            return(StateTransition.Push(new RedLightWaitingForAccess(_isAllowedToLetTrafficThrough)));
        }