Begin the overhaul, add base classes and mixins.