Multiple Arduinos on one USB port

It would be an epic project but I could see it being possible. The mega's sketch would have to have the slave's sketches embedded as data tables and the mega would have to have a function to act as a ISP programmer on two different set of I/O pins wired to the ICSP pins of the slaves. The mega has a lot of flash space and I/O pins, so I don't see any show stopper in it being possible, but not a project for any but the more experienced C++ programmers. Neat idea.