def update(value)
      @list.callbacks[:update].inject(value) { |a, e| e.call(self, a) }
    end
def update(value)
      @list.callbacks[:update].inject(value) { |a, e| e.call(self, a) }
    end
Initialize the attribute.

 @param name [Symbol] The name of the attribute.
 @param list [AttributeList] The attribute list this attribute is
   a part of.
 @param options [Hash] The optiosn for the attribute.
 Update the attribute with the given value.  It runs the value
 through the callbacks, and returns a new value given by the
 callbacks.

 @param value [Object] The new value.
 @return [Object] The new new value.