Making extra_vars more flexible, adding tests.