Add applicative instance for UI

It's prety much all