@jordwalke knows the core better than I, but your approach here in general seems pretty solid (and he's on vacation!). I'm pretty sure leaving this as is and making a note to ask @jordwalke when he gets back if we should refactor is the right thing to do.