anchor.diff:     * Fires an event to registered listeners. Any listeners that take the
      * specific type [obj] will be called.
      */
  -  void post(T obj) {
  +  void post(var obj) {
       var name = _get_name(obj: obj);
           
       List methods = _map[name];
  
positive.code:    * Registers a method so that it can start receiving events.
     * Returns false if [method] is already registered, otherwise true.
     */
    bool register(void method(T)) {
      var name = _get_name(method: method);    
      List methods = _map[name];
      
  
negative.code:     methods.forEach((m) => m(obj));
    }
    
    String _get_name({void method(T), var obj}) {
      if (method != null) {
        var cm = reflect(method);
        return MirrorSystem.getName(cm.function.parameters.first.type.qualifiedName);
  