SO MUCH REFACTORRRRRINNNGGGG. I like the factory pattern, I like depenancy injection. This makes a lot of sense.