VariantBuilder (for initial review)

yes, tons of comments on this and many other things are coming :)