/**
  * Constructor
  * This instantiates the object using arguments from the given request and calling the parent constructor.
  *
  * @param   EE_Message_Resource_Manager $message_resource_manager
  * @param   EE_Request_Handler 			$request
  */
 public function __construct(EE_Message_Resource_Manager $message_resource_manager, EE_Request_Handler $request)
 {
     parent::__construct($request->get('gen_msgr'), $request->get('message_type'), array(), $request->get('context'));
     if (!$this->valid()) {
         return;
     }
     $this->_sending_messenger = $message_resource_manager->get_active_messenger($request->get('snd_msgr'));
     $this->token = $request->get('token');
     $this->_validate_request();
     $this->_data = $this->_get_data_from_request($request->get('id'));
 }
 /**
  * @param string                       $sending_messenger_slug
  * @param \EE_Message_Resource_Manager $message_resource_manager
  * @return \EE_messenger | string
  */
 protected function _set_sending_messenger($sending_messenger_slug, EE_Message_Resource_Manager $message_resource_manager)
 {
     $sending_messenger = $message_resource_manager->get_active_messenger($sending_messenger_slug);
     return $sending_messenger instanceof EE_messenger ? $sending_messenger : $sending_messenger_slug;
 }