public function filter(callable $callback):Repository
    {
        $result = new Repository();
        foreach ($this->items as $name => $item) {
            if ($callback($item, $name)) {
                $result->add($item);
            }
        }

        return $result;
    }