How is the getter called twice in my example?

-- Also note that your solution will not work for properties of attached behaviors of type Closure.