This has no dependency on `self`. It may be nicer to move this to a standalone function.