1. In an environment with management software interacting with network elements via a Java remote method invocation (RMI) call, a method, comprising: transferring the Java remote method invocation (RMI) call to a network element in order to obtain a version of the management software associated with the network element; determining if a requested class to be loaded by a class loader based on the RMI call belongs to a system namespace or a non-system namespace; obtaining a byte code associated with the requested class from a class hash with a class name key if the requested class belongs to the non-system namespace; and dynamically loading the requested class and associated byte code to a Java virtual machine (JVM) with a non-system class loader if the requested class belongs to the non-system namespace, the non-system class loader to load classes having a common namespace and associated with different versions of the management software.