Hm, I feel like this will break. `callback` will be set to whatever eval returns, so it will invoke the function right away. Around line 93 you'll see

```javascript
var callback = options.callback || new Function(v$.data('callback')) || function () {};
```

Which is invoked by 

```javascript
v$.dynamo_trigger({ speed: speed, callback: callback });
```

This explains why `callback` (in the second portion) is set to a string.

As a fix, I would undo this change and instead change line 93 to:

```javascript
var callback = new Function(options.callback) || new Function(v$.data('callback')) || function () {};
```

See if that helps :) But again, calling `eval()` will evaluate the function right away, which is not the behavior we want. Instead, we want to create a new function and call that when necessary.