add proper key constants
cleanup registration classes; fix singleton registration semantics with autofac