improved default gradients
must return self-reference
forwarding vis-rendered event instead depending on deferref