Load all beans when the context is initialised, and wire them together; build a map of classes and protocols, and implement getBeanBy... using those maps