Enhancing DataObject and its subclasses
The problem with the current implementation of DataObject's is that it handles normalization and transformations in kind of weird way.
This includes keeping a mapping between transformation and inverse_transformation. Furthermore state used for normalization and transformation is stored as attributes on the object. For instance, this results in a loss of the state when the object is copied. Currently the copying issue is soled by explicitly checking if attributes are present and do the copying manually, as
if "map_cat_to_id" in dobj.__dict__:
dobj_aux.map_cat_to_id = dobj.map_cat_to_id
dobj_aux.map_id_to_cat = dobj.map_id_to_cat
This issue aims to enhance the implementation of DataObject and its subclasses.