Refactor to improve readability
Move Iterable monkey patching into its own class