Remove `Deferrable[T]` and replace with POF (plain old Future)

closes #15962
use explicit return type in public api