я же привел ссылку на официальную документацию с примером. Вам этого мало?
Если вы не хотите узнать как их использовать, то это не значит, что их нет.
fetch и так уже абстракция. Незачем над ней еще одну городить.
fetch умеет работать со стримами, на них не только прогресс можно отслеживать.
class MyClass extends XMLHttpRequest {
constructor() {}
myMethod1() {}
myMethod2() {}
}