Assignment 3 Game Engine Architecture Solution