Refactor encapsulation

Looping requires shouldn't have taken so freaking long.

:cow: