code: protected function registerRepository()
      {
          $this->app->singleton(CachingRepository::class, function (Container $app) {
              $repo = new GitHubRepository(
                  GuzzleFactory::make(),
                  $app->config->get('emoji.token')
              );
  
              $cache = $app->cache->store($app->config->get('emoji.connection'));
              $key = $app->config->get('emoji.key', 'emoji');
              $life = (int) $app->config->get('emoji.life', 10080);
  
              return new CachingRepository($repo, $cache, $key, $life);
          });
  
          $this->app->alias(CachingRepository::class, RepositoryInterface::class);
      }
docs: Register the repository class.
  
  @return void