Set the kernel as protected, to give access to parent classes

We need access to the kernel in our implementation, this is the cleanest way to do it.