Apply methods made protected and added replay behaviour