Merge changes from topic "revert-2780893-XRITMVSTFB" into main

* changes:
  Revert "Use std::unique_ptr instead of ScopeGuard"
  Revert "Use std::function instead of base::function_ref"