It seems fine to me. One note for copying collection; I don't know that you need to solve the local variables problem. What I did during development was support both copying and non-copying collection; there's at least one suitable point (probably more - I did not look very hard) for copying.
That's true indeed. I've updated a relevant part in application. -- Laurynas