Or the replace/restore functions should be hidden from outside of KeypadManager, which sounds more reasonable.