Zarthus made this as an idea for #40. I think it's pretty solid, I only want to make a couple of changes so it's a bit more DRY.
All right then. This should be it.