public function removeItem(string $key) : void
    {
        $this->checkCallback();
        if (isset($this->members[$key])) {
            unset($this->members[$key]);
        } else {
            throw new CollectionException('Unable to remove from collection - key ' . $key . ' not found.');
        }
    }