Use static kernel singleton pointer instead of per-class instance pointer
replace all uses of module::kernel pointer with kernel::instance singleton pointer