add abstract object managers
implement abstract object managers into existing managers
remove IRegionFactory, update RegionManager

factory isn't needed, extending the class creates cleaner code