What do you think about adding a method like Event.remove(owner owner:AnyObject)? It would eliminate the need to store subscriptions in an instance var in the common case. I can't implement it in an extension, because the list of subscriptions is marked internal.