I'm really concerned about the duplication-with-small-differences between this class and CanvasRosters. Can you refactor to DRY this up?