This actually the approach i've been using for quite some time now. I usually just implement IteratorAggregate and create adding methods. Still, this usually means that i implement a lot of these classes. Lots of repetition, lots of new files.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.