I think stuff like this might be better handled locally within clients, as it should be rather easy, but here's a DVM because why not.