Is there a reason why you handle the data twice? I see you set (in `offsetSet`) the data in `$this->collection` which refers to its internal `$data` and you set it with `parent::offsetSet` which refers to a copy of collections' $data. Appears to be redundant, doesn't it?