Implement 'replayer' mechanism
Add test cases for 'replayer'
Refactor class structure.