Make current user available to templates.
Refactored associated object validation into its own class.