protected function registerInterfaceBindings()
    {
        $this->app->bind(RepositoriesContracts\ModelRepositoryInterface::class, Repositories\ModelRepository::class);
        $this->app->bind(FactoriesContracts\ModelRepositoryFactoryInterface::class, Factories\ModelRepositoryFactory::class);

        $this->app->singleton(RepositoriesContracts\ModelReferenceRepositoryInterface::class, Repositories\ModelReferenceRepository::class);

        $this->app->bind(FormDataStorerInterface::class, FormDataStorer::class);

        $this->registerHelperInterfaceBindings()
             ->registerModelInformationInterfaceBindings()
             ->registerStrategyInterfaceBindings()
             ->registerFacadeBindings();

        return $this;
    }