* Board values read at startup and widgets initialised appropriately
* Split widgets into tabs to reduce number of commands send to board each timer tick.
* Only commands relating to visible tab will be sent to board