Add async service generator by @lei