refactor: scene manager