moving more logic out of the controller and into the service

* also separated user data cache from raw post data cache