split state::draw() into drawBackground() and drawForeground()
also updateBackground() is no longer called on foreground state