[CORE] Create more explicit interface implementations
description
The DataObjectBase is pretty advanced, and it needs to become more simple. One way is to create more explicit interface implementations that not everything shows up in the intellisense.
Another way is to subtract the validation code and create a separate ValidatableObject (that derives from ObservableObject) that implements the validation code.