Implemented basic methods in 'predicate' class and its sub classes.
Refactor evaluate method's signiture.
Refactor evaluate method's signature.
Add PredicateFactory and Rule class.
Remove old classes.