public function __construct($name = null, array $data = array(), $dataName = '')
 {
     $this->listener = function () {
         $this->invoked = true;
     };
     $dispatcher = new EventDispatcher();
     $dispatcher->addListener('created', $this->listener);
     $this->dispatcher = new ImmutableEventDispatcher($dispatcher);
     parent::__construct($name, $data, $dataName);
 }
 private function clear()
 {
     $this->dispatcher->clearAllListeners();
     $this->clearAllListeners();
 }