Add time out to handle socket reading failure to avoid stalling & change response parsing expression.
Jiggle new binding around to maybe avoid conflicts in PRs
Add querying of projector input source and lamp hours. Refactor response parsing to be associated with the Item Mode enum. Implement ability to read source as a number or a string.
Refactor communication code so that other transports can be used (e.g. direct serial comms). Commands over network are implemented and default.