А можно подробнее про расширение функционала на ходу?
Виртуальная машина в ядре просто берёт байт-код, который ему генерит утилита и выполняет его для каждого пакета. Что утилита нагенерит, то эта машина и сделает. Нужно что-то новое научиться делать - взял и дописал утилиту чтобы она генерила байт-код, делающий нужные вещи. Всё.