      *  Typically these tags are used to indicate fine-grained value changes,
      *  such as modifications in a text field prior to confirmation.
      *
+     *  @param useWeakReference (default = false) Determines whether
+     *  the reference to the host is strong or weak. A strong
+     *  reference (the default) prevents the host from being
+     *  garbage-collected. A weak reference does not.
+     *
      *  @return The ChangeWatcher instance, if at least one property name has
      *  been specified to the <code>chain</code> argument; null otherwise.
      *  Note that the returned watcher is not guaranteed to have successfully

     */
    public static function watch(host:Object, chain:Object,
                                 handler:Function,
                                 commitOnly:Boolean = false):ChangeWatcher
    {
        if (!(chain is Array))
            chain = [ chain ];

            var w:ChangeWatcher =
                new ChangeWatcher(chain[0], handler, commitOnly,
                    watch(null, chain.slice(1), handler, commitOnly));
            w.useWeakReference = useWeakReference;
            w.reset(host);
            return w;
        }
