I've hit a snag with my VM.
The idea was to have something like this:

Code:
            VirtualMachine
            /            \
           /              \
          /                \
      VMMemory            VMCPU
(Each branch is a "has-a" relationship. I need to learn UML)

Trouble is, the VMCPU may need to call VMMemory::Write or VMMemory::Read, depending on the instructions it's executing.

I'm thinking the answer is really simple.

Would it be "better" to work VMCPU into VirtualMachine?