Not sure if it helps, but I'd look into exposing functionality via Rest Endpoints using Jersey.
That way you only need to declare your endpoint in plugin.spring.xml and you call them using
/pentaho/plugin/<your plugin>/<whatever urls you decide to create>
The rule of thumb we use here at webdetails is if you're generating file-based content to show to the user, use the content generator and the api/repos/...../<run or edit or generatedContent>.
If you're exposing a service that will be consumed by your plugin, use a REST endpoint with a Jersey resource.