First pass at restructure toward better mixins