Moved retry interface to the provision() method - this is so that we can have different timeout/retries for each instance.