Abstract out profile data storage into a separate service (second cut)