Code cleanup
Refactor widgets and fields so that more is handled by the service