Instances in this class act as a proxy for an object in the Tangence::Server,
allowing methods to be called,
events to be subscribed to,
and properties to be watched.

These objects are not directly constructed by calling the new class method; instead they are returned by methods on Tangence::Client,
or by methods on other Tangence::ObjectProxy instances.
Ultimately every object proxy that a client uses will come from either the proxy to the registry,
or the root object.

Watches the given property on the server object, installing callback functions which will be invoked whenever the property value changes. The latter form additionally ensures that the server will send the current value of the property as an initial update to the on_set event, atomically when it installs the update watches.

A variant of watch_property that installs a watch on the given property of the server object, and additionally returns an cursor object that can be used to lazily fetch the values stored in it.

The $from value indicates which end of the queue the cursor should start from; CUSR_FIRST to start at index 0, or CUSR_LAST to start at the highest-numbered index. The cursor is created atomically with installing the watch.

Requests the next items from the cursor. next_forward moves forwards towards higher-numbered indices, and next_backward moves backwards towards lower-numbered indices. If $count is unspecified, a default of 1 will apply.

The returned future wil yield the index of the first element returned, and the new elements. Note that there may be fewer elements returned than were requested, if the end of the queue was reached. Specifically, there will be no new elements if the cursor is already at the end.