eliminated the need for Controller::router()
added check on required controller action arguments. closes #1467