Object Model re-write -- move common functionality to abstract base class for standarization...