public function onMessage(AbstractSession $session, Message $msg)
{
if ($msg instanceof RegisteredMessage) {
$this->processRegistered($msg);
} elseif ($msg instanceof UnregisteredMessage) {
$this->processUnregistered($msg);
} elseif ($msg instanceof InvocationMessage) {
$this->processInvocation($session, $msg);
} elseif ($msg instanceof ErrorMessage) {
$this->processError($session, $msg);
} else {
$session->sendMessage(ErrorMessage::createErrorMessageFromMessage($msg));
}
}