In reply to UVM_LOVE:
I believe you misunderstood tfitz. He meant you do not need a virtual sequencer, because you can start virtual sequences on a 'null’sequencer like this:
vseq.start(null);
If you want to use a virtual sequencer you can define it as you did. Any sequencer which does not itself create seq_items can be considered to be a virtual sequencer