Rearrange constructor arguments, make it possible to set/change data definition later