Interesting problem. I'm eager to see if anyone attempts this. I know how I would go about this in Framer myself, but generalizing it for a module... I'd have no idea how to abstract everything. I'm betting I'd learn a lot from seeing a solution, though. :)
Yeah this is a perfect case for a module. Let's wait for someone to bite, if not I'll make it.