public static FactoryToChoiceIdBinder <TData, TUseCase> BindUseCase <TData, TUseCase, TUseCaseFactory, TUseCaseIFactory>(this DiContainer container)
     where TUseCase : UseCaseBase
     where TUseCaseFactory : PlaceholderFactory <TData, TUseCase>, TUseCaseIFactory
     where TUseCaseIFactory : IFactory <TData, TUseCase>
 {
     return(container.BindFactoryCustomInterface <TData, TUseCase, TUseCaseFactory, TUseCaseIFactory>());
 }
 public static ConditionCopyNonLazyBinder BindPresenter <TPresenter, TPresenterFactory, TPresenterIFactory>(this DiContainer container)
     where TPresenterFactory : PlaceholderFactory <Object, TPresenter>, TPresenterIFactory
     where TPresenterIFactory : IFactory <Object, Transform, TPresenter>
 {
     return(container
            .BindFactoryCustomInterface <Object, TPresenter, TPresenterFactory, TPresenterIFactory>()
            .FromFactory <PrefabFactory <TPresenter> >());
 }