Restructured traits class and removed the engine cpp file