Changed data types into thin wrappers around a Key-Value tree.

This breaks AbilityActionCollection, which should also become a thin wrapper around the Key-Value tree.