Scott, I like how you guys have the system setup.
Why not have a function in the core where we specify the contact view and the email view? We then would place each view in its corresponding directory.
So currently you guys have $macros.ContactForm()
How about an overloaded function: $macros.ContactForm("myForm.view","myEmail.view")
This would make it easier for you guys to quickly implement.
Thanks,
Joshua