public function addTypedMessage($message, $type = FlashMessenger::MESSAGE_TYPE_NORMAL, $key = null)
{
if (self::$_messageAdded === false) {
self::$_session->setExpirationHops(1, null, true);
}
if (!is_array(self::$_session->{$this->_namespace})) {
self::$_session->{$this->_namespace} = array();
}
$msgToAdd = (object) array("message" => $message, "type" => $type);
if (is_null($key)) {
self::$_session->{$this->_namespace}[] = $msgToAdd;
} else {
self::$_session->{$this->_namespace}[$key] = $msgToAdd;
}
return $this;
}