More refactoring

Breaking that design down into directives which don't do a lot.