Keep track of it's closed state
Using more appropriate exceptions
Whitespace to match unregister up with register
Refactored callEio tick callback into it's own method
Test the closed state handling
Merge remote-tracking branch 'origin/master'