This wrapper generates some data if needed and cleans key usages in templates.
Move code around and some fixes.
This is a first implementation, not the final one.