core.completion: async framework