An advice provider is a component through which the VM can request nondeterministic inputs from
the host (i.e., result of a computation performed outside of the VM), as well as insert new data
into the advice provider to be recovered by the host after the program has finished executing.