Rename Promise to Future
Use Channel to convey data for on_update
Store handlers in Hash; release resources before invoking handler
Cleanup; support for passing args into operations
Skip callbacks when cancelling