Moving shared functionality into base class.