Extract the apropos and grimoire functionality into separate source files