Work inprogress; refactoring to prepare for list display support