suppress error events
allow modules to be functions
enable middlewares with module array syntax
change basic routes to be a function
refactor response constructor
refactor basic routes, add some tests