hide visibility for private functions
use handle with router dispatching and fix arg metadata inspection by having the routes definition pass vars instead of functions