Allow creation of "generalised" keys.
Restructure.