Behaviour DataMany : add class and primary key to avoid conflicts when dealing with former ids
behaviour DataMany : camelCase in a protected method
abstract Model DataMany : if the inherited class has several relation, it must precise the ones used to simulate the link
a good practice should be to always precise them, even if redundant
Model DataMany : use the _init() method to set attributes or throw exception
Behaviour DataMany : check if the property which gives the relation name exists
if the Model_DataMany does not have a property, try to retrieve it from the related model
instead of doing the opposite
As the ModelData model can be used for a relation having a direction, it must not be used to access the related model backward
A second model must extend the abstract model if the provided data can be use on the two different relations

eg : Order information is one which must be used in a single direction and has no sens in the other one