+ These callbacks are always executed in scalar context. The returned
+ value is coerced into a signed integer, which is then passed
+ straight to the perl magic API. However, note that perl currently
+ only cares about the return value of the *len* magic callback and
+ ignores all the others. Starting with Variable::Magic 0.58, a
+ reference returned from a non-*len* magic callback will not be
+ destroyed immediately but will be allowed to survive until the end
+ of the statement that triggered the magic. This lets you use this
+ return value as a token for triggering a destructor after the
+ original magic action takes place. You can see an example of this
+ technique in the cookbook.
+
+ Each callback can be specified as :
+
+ * a code reference, which will be called as a subroutine.
+
+ * a string reference, where the string denotes which subroutine is to
+ be called when magic is triggered. If the subroutine name is not
+ fully qualified, then the current package at the time the magic is
+ invoked will be used instead.
+
+ * a reference to "undef", in which case a no-op magic callback is
+ installed instead of the default one. This may especially be helpful
+ for *local* magic, where an empty callback prevents magic from being
+ copied during localization.
+
+ Note that *free* magic is never called during global destruction, as
+ there is no way to ensure that the wizard object and the callback were
+ not destroyed before the variable.
+
+ Here is a simple usage example :