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);
    }