public function setCleanupCallback($callback)
    {
        if (!is_null($callback)
            && !is_callable($callback)
        ) {
            throw new InvalidArgumentException("No callable function provided");
        }

        $this->cleanupCallback = $callback;

        return $this;
    }