protected function execute(MessageHandlerContext $context, $message)
{
if (!array_key_exists('command', $message)) {
throw new MissingParameterException('command');
}
$command = $message['command'];
$result = null;
switch ($command) {
case 'start':
$result = $this->start($context, $message);
break;
case 'stop':
$result = $this->stop($context);
break;
case 'update':
$result = $this->update($context, $message);
break;
case 'update-context':
$result = $this->updateContext($context, $message);
break;
case 'render':
$result = $this->render($context, $message);
break;
default:
throw new \InvalidArgumentException(sprintf('Command "%s" not known', $command));
break;
}
return $result;
}