use implicit 200 statuscode
phase manipulation and midware
access control middleware
profile interface
phase interface
code organization