We should allow data modification like the `ArrayIterator` class it does. Just proxy these methods to `$this->collection` if you have changed the constructor signature and refresh positions.