adds basic way to register and retrieve implementations of named interfaces