проигрыватель - как ядро с конечным количеством событий
доп. плагины (отключаемые) как подписчики/доп. обработчики этих событий
это если потрындеть)
в случае с visio, если не надо ползти в проигрыватель, то что мешает это отдельной библиотекой реализовать, которую подгрузит тот, кому надо. но не включать это в стандартную поставку