getting rid of std::shared_ptr - somehow shared_ptr<unique_ptr<stuff>> inside std::functions with clang+libc++ causes segfaults