Create AJAX modal form: using Dispatcher or Router

I am writing a plugin, which allows me to add a link to a submission page in the workflow. This link would call up a Modal, which has to be loaded on the fly.

The link is set, and a modal does come up, but I keep getting a 404 error, and an alert with repsonse or AJAX format is incorrect.

I have gone through a number of examples: some use dispatcher, some use router, but in the end whatever I am doing is not working.

Once I get this going, I can finish the plugin, so any help is more than appreciated!

My code:

handler to load up the TPL file
function callbackLoadHandler ($hookName, $args) {
if ($args[0] === “workflow” && $args[1] === “fetch”) {
$args[0] = “plugins.generic.changejournal.modals.ChangeJournalForm”;
$testing = new ChangeJournalForm(6, null, $this->getTemplatePath().‘ChangeJournalForm.tpl’);
$request = Application::getRequest();
return true;
return false;

To construct the link:
function __construct($request, $image = ‘information’) {
// Instantiate the modal.
$dispatcher = $request->getDispatcher();
$router = $request->getRouter();

	$actionArgs = array();

	$modal = new AjaxModal(
			$request, ROUTE_COMPONENT, null,

	// Configure the link action.
	$toolTip = ($image == 'completed') ? __('grid.action.galleyInIssueEntry') : null;
	parent::__construct('issueEntry', $modal, __('submission.issueEntry'), $image, $toolTip);


Using this, I get a link:$$$call$$$/plugins/generic/changejournal/change-journal/fetch

Why does the link become hyphenated?

Of course, I get a page not found.