WIP on declarative schema and presentation.  I'm not very happy with this attempt!