protected function addMessage(Game $game, $author, $message) { $author = (string) $author; $message = (string) $message; if ('' === $message) { throw new \InvalidArgumentException('Messenger: Can not add empty message'); } if (mb_strlen($message) > 140) { throw new \InvalidArgumentException('Messenger: message is too long'); } if ($game->addRoomMessage($author, $message)) { $sayEvent = array('type' => 'message', 'message' => array($author, $message)); foreach ($game->getPlayers() as $player) { $player->addEventToStack($sayEvent); } } }