You should move all of the common logic to a base class.