New style signals
Cleaner implementation.
Use complete import paths.
Add comments.