public function remove($id)
    {
        if (isset($this->aliases[$id])) {
            $aliasId = $id;
            $id = $this->aliases[$id];
            unset($this->aliases[$aliasId]);
        }

        unset($this->keys[$id]);
        unset($this->values[$id]);
        unset($this->immutable[$id]);
        unset($this->factories[$id]);
        unset($this->definition[$id]);
    }