Current implementation is only valid for one suspended task at a given time, which might not be the case when using ForkTask