In this way we made SceneManager inflexible. If you have some advanced optimized implementation of copying, you can't use it with SceneManager. Anyway, the best will be IMHO to make SceneManager dependable only from API of CopyHelper but not the CopyHelper implementation