This looks more complicated but removes a lot of hard coded class connections and will make injecting config easier.