Refactored to show how to workaround the dependency issue using
BeanFactoryAware interface.