Move the guts of update expiration into the fes controller, added exceptions, internal function naming conventions.