1. A method for virtualization layer optimization, the method comprising: dividing a virtualization layer logically into a privileged portion and an unprivileged portion wherein the privileged portion includes a hypervisor operating the virtualization layer on top of hardware resources, wherein the unprivileged portion comprises unprivileged code; and modifying, after the dividing step, the unprivileged portion of the virtualization layer using a pluggable extension, wherein the modifying step alters functionality of the virtualization layer, wherein the modifying includes modifying portions of the unprivileged code, wherein the pluggable extension introduces a new application programming interface to the virtualization layer, and wherein the hypervisor remains unchanged by the pluggable extension during virtualization layer optimization.