public GameModule() : base("game") { var output = new AppOutput(); var app = new ChessApp(output); Post["new"] = _ => { app.Handle(new CreateGameAppCommand()); return Response.AsJson(output.NewGame); }; Post["join/{id}/iam/{playerName}/playing/{colour}"] = parameters => { string gameId = parameters.id; string playerName = parameters.playerName; var colour = GetColour(parameters.colour); if (colour == null) { return HttpStatusCode.BadRequest; } app.Handle(new JoinGameAppCommand(gameId, playerName, colour)); return $"{playerName} joined game {gameId} as {colour}"; }; }