1. A computer-implemented method of providing extensible code visualization comprising: analyzing, using at least a processor, program code; generating, using at least the processor, a model relating to said program code; mapping said model to a user interface (Ul) to produce a UI comprising nodes that reflect said program code; providing a code visualizer to allow a user to add a selected visualization to a selected code element of the program code by specifying, in a configuration file, the selected visualization for a node in the UI corresponding to the selected code element of the program code, parsing the configuration file, when the configuration file is changed, to determine the selected visualization and the corresponding selected code element; traversing the nodes of the UI to identify a node with a matching element that matches the selected code element from the configuration file; and updating the UI by displaying the identified node on a screen with the selected visualization.