anchor.diff:     * Unregisters a method from receiving events.
      * Returns whether the [method] was removed or not.
      */
  -  bool unregister(void method(T)) {
  +  bool unregister(void method(obj)) {
       var name = _get_name(method: method);
       return _map[name].remove(method);
     }
  
positive.code:    * Fires an event to registered listeners. Any listeners that take the
     * specific type [obj] will be called.
     */
    void post(T obj) {
      var name = _get_name(obj: obj);
          
      List methods = _map[name];
  
negative.code:    * Registers a method so that it can start receiving events.
     * Returns false if [method] is already registered, otherwise true.
     */
    bool register(void method(obj)) {
      var name = _get_name(method: method);    
      List methods = _map[name];
      
  