The current `5-0-x` branch and `master` are experiencing random `remote` API failures again.  We should look into this and fix before 5.0 stable.

Example: https://circleci.com/gh/electron/electron/138325
atom/common/api/remote_object_freer.h
#ifndef ATOM_COMMON_API_REMOTE_OBJECT_FREER_H_
#define ATOM_COMMON_API_REMOTE_OBJECT_FREER_H_
#include <string>
#include "atom/common/api/object_life_monitor.h"
namespace atom {
class RemoteObjectFreer : public ObjectLifeMonitor {
 public:
  static void BindTo(v8::Isolate* isolate,
                     v8::Local<v8::Object> target,
                     const std::string& context_id,
                     int object_id);
 protected:
  RemoteObjectFreer(v8::Isolate* isolate,
                    v8::Local<v8::Object> target,
                    const std::string& context_id,
                    int object_id);
  ~RemoteObjectFreer() override;
  void RunDestructor() override;
 private:
  std::string context_id_;
  int object_id_;
  int routing_id_;
  DISALLOW_COPY_AND_ASSIGN(RemoteObjectFreer);
};
}  
#endif