Invalid event and timeline create/update operations will now properly set an error status code and return error messages.

I've left the static functionality in place, but we will likely be removing it soon.