public override void OnCreated(ILoading loading)
        {
            base.OnCreated(loading);

            if (_isReleased)
            {
                var version = GetType().Assembly.GetName().Version;
                Debug.Log(string.Format(Name + ": Version {0}", version));

                if (AssetPath != null && AssetPath != Assets.PATH_NOT_FOUND)
                {
                    _container = new GameObject(Name.Replace(" ", ""));

                    foreach (IModule module in Modules)
                        module.OnCreated(loading);

                    _localizationInstaller = _container.AddInstallerComponent<LocalizationInstaller>();
                    _localizationInstaller.Host = this;

                    _assetsInstaller = _container.AddInstallerComponent<AssetsInstaller>();
                    _assetsInstaller.Host = this;

                    foreach (IModule module in Modules)
                        module.OnInstallingContent();
                }

                _isReleased = false;
            }
        }
        public override void OnInstallingContent()
        {
            _container = new GameObject(REX_OBJECT_NAME);

            var tinyZoneBlockCreators = new []
            {
                Alley2LBuilder.NAME,
                OneWay1LBuilder.NAME,
                ZonablePedestrianTinyGravelRoadBuilder.NAME,
                ZonablePedestrianTinyPavedRoadBuilder.NAME,
                ZonablePedestrianTinyStoneRoadBuilder.NAME
            };

            foreach (var name in tinyZoneBlockCreators)
            {
                RoadZoneBlocksCreationManager.RegisterCustomCreator<TinyRoadZoneBlocksCreator>(name);
                RoadSnappingModeManager.RegisterCustomSnapping<TinyRoadSnappingMode>(name);
            }

            _menuInstaller = _container.AddInstallerComponent<MenuInstaller>();
            _menuInstaller.Host = this;

            _roadsInstaller = _container.AddInstallerComponent<RoadsInstaller>();
            _roadsInstaller.Host = this;
        }