`Game::{update, initialize, finalize, draw}` methods are now virtual