- refactored code, common patterns are now private methods
- added support for interrupts
- added support for interrupt configuration