Added a annotated translation scheme as described in #470 (closed) + some refactoring.
Depends on !827 (merged).