@Override
	public void logicUpdate(GameTime gameTime) {
		// Update the current state
		currentState.logicUpdate(gameTime);
		// Attempt to change the current state to the offered transition state
		// if it is not null, and it exists within the system
		if (currentState.getTransitionStateName() == null) {
			// This shouldn't happen as there is logic in place within State to
			// stop this, but just incase.
			logger.error("Current State ", currentState, " offered no transition state");
		} else {
			setState(currentState.getTransitionStateName());
		}
	}