The one downside with all the callback-based stuff is if the callbacks run in the wrong order, you can get in trouble. One thing that was tripping me up working on the blog extension is that frontmatter gets populated after the sitemap stuff, so the resource manipulators couldn't use frontmatter info. This reorders it so frontmatter is always available before the sitemap is rebuilt.
I had to change rendering around too because moving frontmatter broke that. It's all very delicate...
Simplify populating the sitemap lookup cache
Reorder extensions so frontmatter is available before sitemap
Yeah, there's really no mechanism for saying that one extension depends on another.