Component Design Pattern for Games