Refactor freeze to be a behavior