1. A method comprising: receiving, by one or more processors, a signal to load a plugin component, the plugin component being associated with a plurality of components including another component, wherein the other component is a dependency of the plugin component; determining configuration information for the plugin component; based on the configuration information, generating a data structure which represents both forward dependencies and reverse dependencies among the plurality of components associated with the plugin component; analyzing the data structure to determine an ordered list of loadings for the plurality of components; loading an instance of the other component and an instance of the plugin component based on the ordered list of loadings; upon loading the instance of the other component and the instance of the plugin component, indicating that the plugin component is ready for execution; receiving, via the instance of the plugin component, a request to create an instance of a visualization component; responsive to the request, loading the instance of the visualization component, the visualization component being dependent upon the other component; and using, by the instance of the visualization component, the instance of the other component.