I want to access some of the methods from outside of the plugins scope, namely `showPopup()`, `hidePopup()` and `updateColor(newcolor)`. ### Initialization ### <span class="cp"></span> <script> var cp = $(".cp").ColorPickerSliders({ flat: true, order: { hsl: 1, preview: 2 } }); </script> ### What I want to do ### Something like cp.updateColor('red'); or $(".cp").ColorPickerSliders('updateColor', 'red'); Which one is the preferred way, and how to refactor the code to accomplish it? I achieved it using triggers, but don't know if it has any downsides or is a good way to do these kind of interaction. So I registered a custom event handler inside the plugin's code (Line 320, `triggerelement` is the original element the plugin is called on): triggerelement.on('jquerycolorpickersliders.updateColor', function(e, newcolor) { updateColor(newcolor); }); And call it using this code (where `cp` is the element the plugin is called on): cp.trigger('jquerycolorpickersliders.updateColor', 'red'); [jsFiddle](http://jsfiddle.net/styu/5H8cA/3/). What do you think of it? Is it an acceptable solution for the problem, or is there a better one?