Check in install file
Rename rules file
Add TODO
Allow the caller to decide if they want blocking or non-blocking
Add the number of bytes read to the loop callback