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.

This is required for the data layer to function correctly.