Remove setData. It feels wrong. Can't we use a storage that reads from staging and writes to active instead?
Add a way to react to import (install new). Perhaps a hook. Or, if we do the previous step, no need for change here -- we already added write-time events which are currently unusable exactly because import goes around the config API and writes the storage directly.
Validate everything before importing.
Give some thought about ordering -- I heard from heyrocker this was supposed to be module order , but I doubt it is enforced.
Remove manifests, the level of meta-ness here makes my head hurt.
Probably this means writing a totally new config import system but ... I am totally game for that.