Updated GameNode with observers and implemented GameNodeCreator