Implement Once behavior with the new scheme. Refactor in the process