Still think it's weird to pass in self, especially since this class doesn't have a public api.. ?