Big refactorization here.

I've created two separated interpreters, one of them works on cache
and the other one works on a local mapping. This commit includes some
renames as well.