The latter would be my preferred approach. I think I'll take a stab at that before merging this pull request, then see where we're up to.