figuing out a sane way to deal with all the calls backs Death to async