Commit of progress so far. Design still a work-in-progress.