Removed unused friend class declare. Changed some std::move to std::forward<>.