! refactored Object structure, introducing IObject - interface
! refactored Object -> DataObject