Instead of reading obtaining the value from ApplicationContext on each access we should cache the value e.g. in a LazyValueHolder within a proxy. The holder should be reset if the instance is removed from the context (e.g. Instance.destroy())