data-binding: ensured property change handlers can't accidently recurse