public function registeMessageQueue(MessageQueueNodeInterface $messageQueueNode)
    {

        // load destination queue and receiver type
        $type = $messageQueueNode->getType();
        $destination = $messageQueueNode->getDestination()->__toString();

        // initialize the message queue
        $messageQueue = new MessageQueue();
        $messageQueue->injectType($type);
        $messageQueue->injectName($destination);
        $messageQueue->injectWorkers($this->workers);
        $messageQueue->injectMessages($this->messages);
        $messageQueue->injectApplication($this->application);
        $messageQueue->injectManagerSettings($this->managerSettings);
        $messageQueue->start();

        // initialize the queues storage for the priorities
        $this->queues[$messageQueue->getName()] = $messageQueue;

        // bind the callback for creating a new MQ sender instance to the naming directory => necessary for DI provider
        $this->getApplication()->getNamingDirectory()->bindCallback(sprintf('php:global/%s/%s', $this->getApplication()->getUniqueName(), $destination), array(&$this, 'createSenderForQueue'), array($destination));
    }