Change dispatcher and router to pass route objects.
Rename queryString to query.
Order of startupController parameters matches action methods.