## 0.33.0

As plugins become more complex and we keep saying, "Wouldn't it be cool if there was a Grasshopper Plugin for that?". Plugins can now be even more complex doing their own sneaky.  For example, a plugin can now make its own api calls. Using the masseuse optionally async `beforeRender` and `afterRender` lifecycle methods, now adding a `beforeSave` to all plugin views.

* Features
    * Added plugin save hook via optionally async `beforeSave` method. If implemented on a plugin, will be called before the parent model is synced with its server resource. The method can be async, the first (and only) argument to it is a new jQuery Deferred. If you choose to block the model sync and implement the `beforeSave` method with the optional deferred, you must return that deferred's promise. Otherwise, `beforeSave` will be called synchronously if implemented.

    An example plugin masseuse view:

    ```javascript
        define(['pluginBaseView'],
            function (PluginBaseView) {
            'use strict';

            return PluginBaseView.extend({
                beforeRender : beforeRender,
                afterRender : afterRender,
                beforeSave : beforeSave
            });

            function beforeRender($deferred) {
                // do some crazy stuff. return the promise.
            }

            function afterRender() {

            }

            function beforeSave($deferred) {
                // do some crazy stuff. return the promise.
            }
        });
    ```
