storage = $storage; $this->path = $path; $this->directoryPath = pathinfo($path, PATHINFO_DIRNAME); } abstract public function execute(); protected function deleteOriginalDocument() { $this->storage->delete($this->path); } }