Added sketch for VM

DO NOT MERGE
This is just a sketch.
Please comment.
SGTM.

For now I was more concerned with how to use those functions from the interpreter. Let's start with this and I'll propose helpers or refactorings on the go.