Cache all the things!

...and some ui stuff