Separate the logic of UBODs to a base class and let the actual UBOD implementation only be plain data. This is the first step to add a second type of of UBODs for widgets.
While they requriements are very similar, they still need to be two separate things.