/**
  * Detaches an observer from the subject to no longer notify it of updates
  *
  * @param SplObserver $observer Instance of SplObserver to detach
  *
  * @return PHP_CompatInfo
  */
 public function detach(SplObserver $observer)
 {
     $id = $observer->getHash();
     if (isset($this->_observersId[$id])) {
         $this->_observers->detach($observer);
         unset($this->_observersId[$id]);
     }
     return $this;
 }