Add cancellable event interface