Specification pattern question - C#