Refactoring to use new DataListener framework.