Remove collection constructor
Use a factory to create collections
Use factory to create record on collection
Use factory to create criteria on collection

Also move the responsibility of parse array as filters to the factory.
Use factory to create filters
Allow to create filters from operators