Move behavior into a method to avoid accessing ivars

Accessing ivars is weird and the alternative (explicit self) is weirder.
By moving the behavior into a method, we can avoid both.