public function boot()
{
$this->client = new Client();
$this->cache = app('Illuminate\\Contracts\\Cache\\Repository');
$this->config = app('Illuminate\\Contracts\\Config\\Repository');
$this->publishMigration();
$this->publishConfig();
$this->publishSparkResources();
$this->listeners = collect($this->config->get('captain_hook.listeners', []))->values();
$this->registerEventListeners();
$this->registerRoutes();
}