Added new base class providing shared fnctionality.