Add async retry & test, static method