Perhaps a set of PR’s to buff it up could be useful? It could be a great generic library for handling such things.