Fix cache never storing objects, and implement it in more classes