           ┌───────┐
           │ Begin │
           └───────┘
               │
               │
          initialize
               │
               ▼
           ┌───────┐
           │ Setup │
           └───────┘
        ┌───┘     ▲
        │         └┄┄┄┄┄┄┄┄┐
        │                  ┆
    configure              ┆
        │                  ┆
        ▼                retry
   ┌────────┐              ┆
   < Valid? >              ┆
   └────────┘              ┆
    └┐     └──────┐        ┆
     │            │        ┆
    yes          no        ┆
     │            └┐       ┆
     ▼             ▼       └┄┄┄┄┐
┌─────────┐       ┌──────────────┐
│ Execute │       │ Handle Error │
└─────────┘       └──────────────┘