a bit of refactoring to make Pawel happy; separate TimeSpanHours class to keep a time period within a day together and enforce correct parameters when constructing; removed usage of passed Function instead of simplier Predicate