improve readability by using a single object literal for all prototype methods

move module.exports to the end of the file

use noop function for initialize

make assignments in var statement

fix typo

add test for BaseRouters option initialization

reduce complexity of statements

fix comment typo

separated concerns of getController

remove outdated comment

add method to manually override the isAMDEnvironment flag

add test for getAction

add test for getRedirect

remove unnecessary if

refactoring buildRoutes

add test for buildRoutes

remove helper function from prototype

extract string parsing to separate function

add test for route

remove empty lines

use reduce instead forEach

use path.join