A Little re-factoring - Hang up!

The is still a hang on start-up caused by the required timeout period
needed to account for the rebooting of some microcontrollers. This can
easily be fixed by running the method in a thread. Investigation into a
co-routine approach is ongoing.