Implemented InputComponent, closes #19.