Migrate to Typhoon 2.0 and update for new PromiseKit.