Add specs around middleware handling of interrupts
Move utility classes into own module
Remove git dependency
Create a remote util object