[add] Work with dataholders is done via traits: it gives ability to implement different kinds of dataholders