Task 10 design patterns - all completed