Move value filter implementations to external classes.

Create a new CollectionFilter class towards issue #4