1. A method for conducting a virtual training session using a virtual machine, comprising: identifying the virtual training session comprising a first training objective having a first validation path and a second training objective having a second validation path; receiving, by a processor of a computer via an instructor user interface (UI), an input to select a graphical icon in a validator library; inserting the graphical icon as a validator node in a graph specifying at least the first validation path, wherein the first validation path comprises a validator represented by the graphical icon and corresponding to an event of the virtual machine; configuring, by the processor, the virtual machine to conduct the virtual training session, wherein the virtual machine is manipulated by a student of the virtual training session to complete the first training objective; configuring, by the processor, a smart agent to execute on the virtual machine; performing a validation check of the virtual training session, wherein performing the validation check comprises using the validator to determine that the event of the virtual machine has occurred; generating a result of the validation check; identifying, using the smart agent, completion of the first training objective based on the result; and advancing, by the processor, the virtual training session from the first training objective to the second training objective in response to identifying completion of the first training objective.