Represents a one-time idempotent action that can be used
to cancel async computations, or to release resources that
active data sources are holding.
It is equivalent to java.io.Closeable, but without the I/O focus, or
to IDisposable in Microsoft .NET, or to akka.actor.Cancellable.
Cancels the unit of work represented by this reference.
Guaranteed idempotency - calling it multiple times should have the
same side-effect as calling it only once. Implementations
of this method should also be thread-safe.