Grading Guidelines:

1 point each for the first 5 requirements. (5 points)

2 points for correctly implementing the Strategy Pattern

2 points for correctly implementing the Factory Pattern and associated excpetion

1 point for correctly using the Factory Pattern