Changed pattern for implementing facets / dispatchers.
Made "gui-ness" into a facet.