Improve blueprints for data layer

Appart from the reformat of some file this is a minor change to the API for easier subclassing.

In particular it enable subclassing of blueprint by subclassing their constructor in the parent object.