Split all providers into "download" and "process" steps
Most of the parsers internally have a _download and _process (or similar) methods to organize the work, however, there is no strict separation of these processes when calling the get method on the parsers. Ideally there should be a way to download all state in one step and process the state in another. This could be exposed on the CLI as well (e.g. vunnel download <provider> vunnel process <provider> and leave vunnel run provider as is, calling both download and process internally).
This would help with provider development, where most of the development is on the processing-side, so naturally allowing for download to be separate and a guarantee of no network calls / updating of input state when calling "process".