made WeekDay's optional for parsers
updated iFactory to take the schedule type as well as the data to parse
added an integration test for factory to check it all works