An Exercise in Refactoring - Specification Pattern