Update variable (config.py): Change INTERVAL from 0 to 1. The value 0 causes the application to keep on reloading just to check file modification which in effect, causes the CPU to become hot rather quickly.
Update functions (helpers.py): Change order of each functions in alphabetical order.
Add function: get_kwargs(args, separator). The sole purpose of this function is to handle the parameters given on the console when running the application (the sys.argv).
Update function (helpers.py): Change function name from class_to_func to to_func. This is for a shorter and more consistent naming of conversions (there is another one in the helpers.py called to_dict).
Update method (managers.py): route(). Filters are now automatically run from the file without specifying it manually in the root method. It will be appened on the "apply" filter of bottle on bottle.route.
Add method (managers.py): defaults(). The sole purpose of this method is to make the "app" object available on the Mako template. It can be called on directly on the template (e.g. ${app}) and access its modules (e.g. ${app.request.session}).
Update file (controllers.py): Change method parameter from request to self (which is more natural). The problem before was because Mako is also using the "self" keyword which causes conflict in Python (in kwargs).
Update functions (controllers.py): Each function and method has a brief explanation how to access the "app" itself and use its modules. However, this is not possible on function-only controllers since we cannot make the class inherit it.