public function __construct(Service $service, $name)
 {
     parent::__construct($service->getDefinition());
     $this->name = $name;
     $this->service = $service;
 }
 private function loadPort(Service $service, DOMElement $node)
 {
     $port = new Port($service, $node->getAttribute("name"));
     $port->setDocumentation($this->getDocumentation($node));
     $service->addPort($port);
     return function () use($port, $service, $node) {
         list($name, $ns) = self::splitParts($node, $node->getAttribute("binding"));
         $port->setBinding($service->getDefinition()->findBinding($name, $ns));
         $this->dispatcher->dispatch('service.port', new PortEvent($port, $node));
     };
 }