diff --git a/includes/field_mapping.inc b/includes/field_mapping.inc
index 9d14b0b..73337b2 100644
--- a/includes/field_mapping.inc
+++ b/includes/field_mapping.inc
@@ -176,8 +176,8 @@ class MigrateFieldMapping {
     return $this;
   }
 
-  public function callbacks($callbacks) {
-    $this->callbacks = func_get_args();
+  public function callback() {
+    $this->callbacks[] = func_get_args();
     return $this;
   }
 
diff --git a/includes/migration.inc b/includes/migration.inc
index 11e4707..975df42 100644
--- a/includes/migration.inc
+++ b/includes/migration.inc
@@ -1210,9 +1210,13 @@ abstract class Migration extends MigrationBase {
 
         // Call any designated callbacks
         $callbacks = $mapping->getCallbacks();
-        foreach ($callbacks as $callback) {
-          if (isset($destination_values)) {
-            $destination_values = call_user_func($callback, $destination_values);
+        foreach ($callbacks as $key => $callback) {
+          $function = array_shift($callback);
+          if (is_callable($function)) {
+            if (isset($destination_values)) {
+              array_unshift($callback, $destination_values);
+            }
+            $destination_values = call_user_func_array($function, $callback);
           }
         }
 
diff --git a/migrate_example/wine.inc b/migrate_example/wine.inc
index 5688e2f..af1f9f8 100644
--- a/migrate_example/wine.inc
+++ b/migrate_example/wine.inc
@@ -917,14 +917,15 @@ class WineWineMigration extends AdvancedExampleMigration {
     $this->addFieldMapping('field_migrate_example_top_vintag', 'best_vintages');
 
     // TIP: You can apply one or more functions to a source value using
-    // ->callbacks(). The function must take a single argument and return a
+    // ->callback(). The function must take a single argument and return a
     // value which is a transformation of the argument. As this example shows,
     // you can have multiple callbacks, and they can either be straight
     // functions or class methods. In this case, our custom method prepends
     // 'review: ' to the body, and then we call a standard Drupal function to
     // uppercase the whole body.
     $this->addFieldMapping('body', 'body')
-         ->callbacks(array($this, 'addTitlePrefix'), 'drupal_strtoupper');
+         ->callback(array($this, 'addTitlePrefix'))
+         ->callback('drupal_strtoupper');
     $this->addFieldMapping('body:summary', 'excerpt');
 
     // We will get the image data from a related table in prepareRow()
