public Callback(CallbackDelegate <T> f)
 {
     base.Event += b =>
     {
         T t = b as T;
         b = null;
         f.DynamicInvoke(t);
     };
 }