Refactoring:

- Adding licence headers to files.
- Adding basic support for notifications
- Adding support for unregistering channels