I think it would be good to check if a given Callback is Null or not. This would need a IsNullInstance() method for Callback.
I am not sure. To test whether Callback is empty or not, you can call operator bool() - just like with function pointer.
IsNull would imply that Callback is sort of value (or Value..). That is something that we had decided to avoid lately. The trouble with this is that for Value, you expect comparison, hash-value etc. But for
Callback1<Foo>
that creates the requirement for Foo comparison and GetHashValue - something not very nice in most cases.