CriteriaFactory

CriteriaFactory draft.
In criteria-factory-example branch some bundle is refactored with this.
There are things to improve, but I want feedback early.