Added:
- Base class `Event` which can be used to provide better type safety
Changed:
- `unbind`, `unbind_all` & `is_bound` now checks the function's name & module name rather than checking the actual reference.
This is because modules might be reloaded and so the reference stored is no longer the same as the new reloaded one.
If you want to use the reference to unbind etc. use `by_ref = true` as a parameter in those functions.