fix once handlers, add model ready protection