add user object caching pretty much everywhere

everything I tried looks good, we shall see...