add tests to enforce certain implemented behaviours of abstract action and refactor before proceeding for doing the retry loop.
improvements in abstract action test suite and structure of abstract action itself