1. Organised encoder and motor functionalities into modules
2. Added interrupt funtionality for encoders and timers