/**
  * Enter description here...
  *
  * @param DOMNode|PhpQueryObject|string $document
  * @param unknown_type $type
  * @param unknown_type $callback
  *
  * @TODO namespace events
  * @TODO support more than event in $type (space-separated)
  */
 public static function remove($document, $node, $type = null, $callback = null)
 {
     $documentID = phpQuery::getDocumentID($document);
     $eventNode = self::getNode($documentID, $node);
     if (is_object($eventNode) && isset($eventNode->eventHandlers[$type])) {
         if ($callback) {
             foreach ($eventNode->eventHandlers[$type] as $k => $handler) {
                 if ($handler['callback'] == $callback) {
                     unset($eventNode->eventHandlers[$type][$k]);
                 }
             }
         } else {
             unset($eventNode->eventHandlers[$type]);
         }
     }
 }