For SRP, this should be in a separate class, but happy to leave as-is.