heavy refactoring to introduce a ui system that is built entirely from service data
ui controls now completely driven by service layer