With all these utility methods, it feels like a Community object may be warranted to contain all of them together?