It'd probably be more useful as a static method, but that's a discussion for another PR.