I don't think an abstract method is the right way to solve it, this is the kind of thing I was trying to get away from in the first place. To really abstract it, we could put an interface that transforms a handle into a ProcessStatus instance, and have different implementations. But this falls outside the scope of this pull request, which is just to change the asynchronous "framework".