Optional abstract
Added RetryWait support