public function iterateDates(\Closure $callback)
    {
        $interval = new \DateInterval('P1D');

        $period = new \DatePeriod($this->start()->copy()->startOfDay(), $interval, $this->end()->copy()->startOfDay());

        foreach ($period as $date) {
            $callback($date);
        }

        return $this;
    }