Kernel refactor [preview]

For @ajs6f comments.
Phase 2? Or is there something we can do now to make that easier?