Making Kernel object oriented