Implemented the InputHandler, changed the RPIClient to use non blocking IO