public void Configure(Container container)
        {
            container.Options.PropertySelectionBehavior = new PropertyInjectionForType <ILog>(container);

            // Keep the type so that it is clear what is being registered here.
            container.RegisterSingleton(() => LoggingConfig.Setup(container.GetInstance <LogForm>().TextBox));

            container.RegisterConditional(
                typeof(ILog),
                typeFactory => typeof(SerilogRobe <>).MakeGenericType(typeFactory.Consumer.ImplementationType),
                Lifestyle.Singleton,
                predicateContext => predicateContext.Consumer != null);
            container.RegisterConditional(
                typeof(ILog),
                typeFactory => typeof(SerilogRobe),
                Lifestyle.Singleton,
                predicateContext => predicateContext.Consumer == null);

            container.RegisterSingleton <IResponseParser, CoreResponseParser>();
            container.RegisterSingleton <ICoreLinkFactory, CoreLinkFactory>();
            container.RegisterSingleton <ICoreControllerFactory, CoreControllerFactory>();

            container.RegisterSingleton <ICoreProcessFactory, CoreProcessFactory>();
            container.RegisterSingleton <ICoreProxyFactory, CoreProxyFactory>();

            container.RegisterSingleton <ICharmdRunner, CharmdRunner>();

            container.RegisterSingleton <IModelDiffApplier, ModelDiffApplier>();
            container.RegisterSingleton <IModelUpdaterFactory, ModelUpdaterFactory>();
            container.RegisterSingleton <IModelProviderFactory, ModelProviderFactory>();

            container.RegisterSingleton <IDesigner, Designer>();
            container.RegisterSingleton <IConductor, Conductor>();

            container.RegisterSingleton <UIMain>();
            container.RegisterSingleton <LogForm>();
            container.RegisterSingleton <GraphForm>();
            container.RegisterSingleton <JsonEditForm>();
            container.RegisterSingleton <SettingsForm>();

            container.RegisterSingleton <MainForm>();
        }