Design Pattern Assignment