removed some boiler plate code via AsyncOnSubscribeFunction<T> type