@beberlei would be great if you can look at createInitializer and createCloner (probably not in the diff view, this is unreadable) and give feedback if its done as intended or if the commons parts would simplify some of this.