Moves the majority of the functions into the base class.