glad you figured it out. ... I'm not a fan of protoType usage (i extend my class objects using a different method) but to wrap your head around it, its just and extension of the object.
At the top of each plugin you will something like this
var pluginProto = cr.plugins_.MyPlugin.prototype;
"pluginProto" is now a refrence to the MyPlugin plugin prototype extension (not any instance of it but the object definition it self)
further down in a plugin you will see something like this
function Acts() {};
Acts.prototype.DoSomething = function(param1){
//Code in here that does stuff to the instance that called it.
}
This is building a set of actions to add to this object.
Lastly those actions are added to the object by something like this
pluginProto.acts = new Acts();
"pluginProto.acts" is the same as typing "cr.plugins_.MyPlugin.protype.acts"
So the final location of the DoSomething() function is "cr.plugins_.MyPlugin.protype.acts.DoSomething"
Now in Javascript if you were to just call the function "cr.plugins_.MyPlugin.protype.acts.DoSomething(param1)" the function would have no refence to the instance it is supposed to do work on.
To pass the instance you need to add a .call so it would be "cr.plugins_.MyPlugin.protype.acts.DoSomething.call(instanceObject,param1)"
And thats plugin ACE function calling in a nut shell