- When twisted is installed, emit() returns a deferred which gathers the results of all callbacks.
- Fixed #3: Added disconnect/disconnect_from partials to callbacks
- Fixed #6: Auto disconnect
onceandonwith max_calls signals - Fixed #10: converted
smokesignal.emittingto contextlib.contextmanager