VariantBuilder (for initial review)

Why is this necessary?