Remove initializer list.
Return a std::uinque_ptr. Every caller was already using one.