public function allRevisions(callable $callback = null)
    {
        $loader = new CollectionLoader([
            'logger'    => $this->logger,
            'factory'   => $this->modelFactory()
        ]);
        $loader->setModel($this->createRevisionObject());
        $loader->addFilter('target_type', $this->objType());
        $loader->addFilter('target_id', $this->id());
        $loader->addOrder('rev_ts', 'desc');
        if ($callback !== null) {
            $loader->setCallback($callback);
        }
        $revisions = $loader->load();

        return $revisions->objects();
    }