Not sure. I think there's value in making an object iterable. In ruby you would mixin Enumerable, define an `each` function and then you had the Enumerable suite of methods. I feel like there's something similar here albeit simpler because it's just working off an array. 

Not opposed to a more general mixin strategy though. Just not sure if this is the plaace...