refactoring to use delegate pattern for sequence data persister