Cleaner ISR naming and signature.
Using a typedef enum to specify the return code of the ISR functions.