Initial implementation of SignalSpy

--HG--
extra : amend_source : ab6f4d0ac77ebb9fa4e156282f25a643ac260082