Object.watch oddities

Here’s the deal.
I’m writing a class to allow me to watch one property of an object more than once. The problem is that when I’m inside that class and I set the variable that I’m watching (after I unwatch it) it gets set, however, when I trace it in the function I call after I set it (to do just that, trace) it returns undefined.

There’s more weirdness though. I have an on mouse up handler set to change the variable that I’m watching to test things out, when I trace the variable from the on mouse up (100% positive the path is correct), before and after the var is set, it traces out just fine and dandy.