Avoid NPE when polled data length doesn't match the number of sensors
Use a dispatcher to send events to the state machine
Make sure configure() gets called on the same thread each time
Always create a collection at startup

[#68824850]
Detect when no devices are found, and don't fall back to GoIO
Don't be so aggressive about trying to re-connect after an error