Oh the insanity

I must say, this thing is a mess, hopefully this async stuff is cleaned up enough
now to work properly.