removed extra classes for AsyncCallbacks and their listeners to reduce
unnecessary complexity; removed singletons where deemed unnecessary