private void Update()
        {
            //The reason we don't update until initialization is finished
            //is because we CAN'T let potential tickables that may depend on
            //initializablizes having run, so to avoid this issue we don't run them until they are init
            if (!isInitializationFinished)
            {
                return;
            }

            foreach (IGameTickable tickable in Tickables)
            {
                tickable.Tick();
            }

            //After a tickable is finished, we should set tickable compeltion
            UnityExtended.SetNextTickableFrame();
        }
        /// <inheritdoc />
        protected override void Load(ContainerBuilder builder)
        {
            base.Load(builder);

            //Set the sync context
            UnityExtended.InitializeSyncContext();

            builder.Register(context => LogLevel.All)
            .As <LogLevel>()
            .SingleInstance();

            builder.RegisterType <UnityLogger>()
            .As <ILog>()
            .SingleInstance();

            builder.RegisterType <LocalCharacterDataRepository>()
            .As <ICharacterDataRepository>()
            .SingleInstance();

            builder.RegisterType <AuthenticationTokenRepository>()
            .As <IAuthTokenRepository>()
            .As <IReadonlyAuthTokenRepository>()
            .SingleInstance();

            builder.RegisterType <GlobalEntityResourceLockingPolicy>()
            .AsSelf()
            .AsImplementedInterfaces()
            .SingleInstance();

            //Token module is needed in most scenes.
            builder.RegisterModule <AuthenticationTokenAutofacModule>();

            //Handlers aren't needed for all scenes, but for most.
            //TODO: We should expose SceneTypeCreatable or whatever on handlers
            builder.RegisterModule(new GameClientMessageHandlerAutofacModule(Scene));

            builder.RegisterModule(new EngineInterfaceRegisterationModule(Scene, GetType().Assembly));
            builder.RegisterModule(new UIDependencyRegisterationModule());

            builder.Register <IServiceDiscoveryService>(context => RestService.For <IServiceDiscoveryService>(ServiceDiscoveryUrl))
            .As <IServiceDiscoveryService>()
            .SingleInstance();
        }