public function boot()
    {
        $this->add_action($this->get_cron_action(), 'handler');

        // Update the interval if the schedule has changed since first addition.
        if (\wp_get_schedule($this->get_cron_action()) !== $this->schedule) {
            \wp_clear_scheduled_hook($this->get_cron_action());
        }

        if (! \wp_next_scheduled($this->get_cron_action())) {
            \wp_schedule_event(\time(), $this->schedule, $this->get_cron_action());
        }
    }