public function on(DateTime $on) {
        if ($on->format('His') !== '000000') {
            throw new RuntimeException('One day events must start at midnight');
        }

        $fin = clone $on;
        $fin->add(new \DateInterval('P1D'));

        $this->start($on)
                ->end($fin)
                ->allDay(true);

        return $this;
    }