Separated gui from engine, work on abstracting Window class