use session cache for variable storage
namespace the Router class, don't use CI library loading
use __constructor to run routing engine instead of separate method