trim leading slashes
add invoke in the router
change to call_user_func so we can pass assoc array arguments