@Documented @Retention(value=SOURCE) @Target(value={FIELD,TYPE}) public @interface FXObservable
 When annotating a property it indicates that the property should be a
 bound property according to  JavaFX beans, announcing to listeners
 that the value has changed. 
 
 When annotating a class it indicates that all groovy properties in that
 class should be bound as though each property had the annotation (even
 if it already has it explicitly).
 
 It is a compilation error to place this annotation on a field (that is
 not a property, i.e. has scope visibility modifiers).
 
 If a property with a user defined setter method is annotated the code
 block is wrapped with the needed code to fire off the event.
| Modifier and Type | Optional Element and Description | 
|---|---|
| FXObservable.Strategy | value | 
public abstract FXObservable.Strategy value