A Qt style signal implementation that doesn't require QObjects. This supports class methods, functions, lambdas and partials. Signals can either be created on the instance or on the class, and can be handled either as objects or by string name. Unlike PyQt signals, PySignals do not enforce types by default as I believe this is more pythonic.