added DataModel for including export and import hooks on other models, and some serialization functions to support that