For #2 - added unsubscribe. It doesn't matter what flags the subscription was originally under, but the callable function must be equal to the one that was subscribed, or nothing will happen. If it's an instance method and it's not on the same instance, it won't do anything.