This reverts commit 5ac9086c. The CI was incorrectly failing. There was nothing wrong with the original commit that made the Catalogue class a pure interface.