public void execute(RequestModel requestModel) { Scenario scenario; if (requestModel.requestedScenarioIs(Scenarios.REST)) { scenario = new Rest(game, output); } else if (requestModel.requestedScenarioIs(Scenarios.MOVE)) { scenario = new MovePlayer(game, output, requestModel.getDirection()); } else if (requestModel.requestedScenarioIs(Scenarios.SHOOT)) { scenario = new ShootArrow(game, output, requestModel.getDirection()); } else { scenario = new UnknownCommand(game, output, requestModel.getUnknownCommand()); } scenario.invoke(); }