Purpose to learn Design Pattern