More refactoring.  I'm now working on moving generic framework stuff out of the ui-specific package and into a new framework package