why issue a NameError when a method is missing? raise NoMethodError.
execute procs in controller instance context. we should consider using uber here.