Todo: Tests for negative cases, e.g. invalid manipulations that lead to hierarchy or not found errors.