export class ComposableTask { public async then( onfulfilled: (value: T) => T | PromiseLike ): Promise { return onfulfilled(await this.run()) } public async run(): Promise { throw new Error('ComposableTask - run is not implemented') } }