example 8-7: async, multi process callbacks