@RequestMapping(value="/match", method=RequestMethod.PUT)
	@ResponseBody
	public MatchData startGame(@PathVariable("gameId") String gameId, @RequestParam("accountName") String accountName) {
		
		Assert.notNull(messageRouter, "Message router can't be null, is required.");
		Assert.hasText(accountName, "Account name must be not null nor empty.");
		Assert.hasText(gameId, "Game Id name must be not null nor empty.");
		
		if (logger.isDebugEnabled()) {
			logger.debug("Request for game creation accepted.");
			logger.debug("Game id: " + gameId);
			logger.debug("Account name: " + accountName);
		}
		
		CreateGameMatchCommand createGameMatchCommand = new CreateGameMatchCommand(UUID.randomUUID(), accountName);
		
		messageRouter.routeMessage(createGameMatchCommand);
		
		if (createGameMatchCommand.hasNotifications()) {
			
		}
		
		if (createGameMatchCommand.hasData()) {
			return createGameMatchCommand.getDomainData();
		} else {
			throw new IllegalStateException("Somthing wrong with our message routing, command has no notification nor data.");
		}
		
	}