Also move this up into `View` (since it's used here and elsewhere)?