Refactoring

@Nyholm as we discussed yesterday here is the proposition of refactoring, please have a look if everything looks ok (I've decided to introduce Filter namespace that will contain Expression interface).