Как правильно организовать смену состояний (сцен) при паттерне Entity Component System?
Разрабатываю игру используя концепцию ECS. За основу взята библиотека entt. Имеется один глобальный реестр, в котором хранятся сущности с компонентами на них. Возникла необходимость смены состояний игры (заставка, главное меню, основной геймплей, экран результатов и т.д.). Это некие сцены в которых имеется свой набор сущностей и систем, которые их обрабатывают. И появилось непонимание, как правильно организовать процесс смены этих состояний(сцен) имея при этом единый реестр. Получается мне нужно при переходе из сцены 1 в сцену 2, удалять сущности сцены 1 и останавливать специфичные только для нее системы. А это значит мне нужно хранить (помимо реестра) в сцене массив созданных сущностей, что бы пробегать по нему и удалять при выгрузке сцены из памяти. Не уверен что это хорошее решение. Может есть какие то лучшие практики?