public static function create(array $data)
{
Assert::string($data['time']);
Assert::isArray($data['accepted']);
Assert::isArray($data['delivered']);
Assert::isArray($data['failed']);
return new self(new \DateTime($data['time']), $data['accepted'], $data['delivered'], $data['failed']);
}