AsanaClientRetry, and refactor of client middleware