public boolean processMessage(ServerMessage message, Connection sourceConnection) {
    switch (message.getMessageType()) {
    case REGISTER:
      return registerService.serveRequest(message, sourceConnection);
    case LOGIN:
    case LOGOUT:
      return authenticationService.serveRequest(message, sourceConnection);
    case CONVERSATION:
      return conversationService.serveRequest(message);
    case ADD_FRIEND:
    case DELETE_FRIEND:
    case FRIEND_REQUEST_RESPONSE:
      return friendsService.serverRequest(message, sourceConnection);
    case CLOSE_CONNECTION:
      return removeConnecion(sourceConnection);
    }
    return false;
  }