private function addDestinations(array $destinations)
    {
        foreach ($destinations as $destination) {
            if (!$destination instanceof DestinationInterface) {
                throw new \InvalidArgumentException(get_class($destination) . ' is not a valid destination');
            }

            $this->destinations[] = $destination;
        }
    }