Changed World::step to virtual, to enable overriding by derived classes.