1) Visualizations are added as part of the AV player plugin and respond to the visualize and stop visualize commands
2) Visualizations are their own type of plugin
3) Visualizations fall into the other category (aka implement IOther) as an unofficial part of the framework
All of which would require very very minor changes to add support. My personal preference would be option 1 but that would slightly limit the diversity of standalone visualization engines.