Implemented a simple case of the Specification pattern (not Gang Of Four)