In fact, it is not required but if you have it, you have some extra features. The same goes with HttpKernel (and the special handling of HTTP exception classes).