I should definitely have an internal program manager rather than just shoving it all into the Kernel class.
Kernel