Moved VC IR to separate module.  Replaced smart constructors with optimization functions.