No good reason, just used whatever method came to mind at the time.  I would have to look into fixing the callers to use a single form, because data can come from multiple sources (lms, tests, manual json post, etc).