Why ControlRig Use VM ? How Can I Learn ControlRig's SourceCode?

I find it’s too difficult when i dicide to study ControlRig’s SourceCode,I can’t get the basic pass in ControlRig system,Can Anyone tell me How to learn the Rig_VM and why use it otherwise structure like AnimBlueprint?