Is your feature request related to a problem? Please describe.
Entering a dict isn't intuitive and should be entered by named parameters instead. We should keep initialisation by dict as a "from_dict" classmethod.
Describe the solution you'd like
Remove the dict from the DataObjectMixin init. Update all derived classes to have a named parameter for all possible keywords in the keyword mapping dicts.