This allows callers to move into the constructor and subsequently move into the member variable, avoiding copies altogether.