Refactor to capture and play interfaces