Why do we want to move all this out of the base implementation?

Let's discuss this in person.