Do not use on* as that confuses with events. Rename callbacks to align with Future.