code: func newRemoteObject(session *session, objectInterface *ObjectInterface) *RemoteObject {
  	remoteObject := &RemoteObject{
  		session:         session,
  		ObjectInterface: objectInterface,
  		changedChannels: make(map[chan struct{}]bool),
  		mutex:           sync.Mutex{},
  		closedCh:        make(chan struct{}),
  	}
  	// Signal that the object is by definition changed from the beginning
  	return remoteObject
  }
docs: // newRemoteObject creates a new RemoteObject instance