implemented GameTime system, added component lifecycle callbacks