@jmikola this was ported from ORM implementation, cause I found it very useful in my project, to operate with model without thinking which entity or document manager is used behind the scene. Initial idea was taken from Sylius.