FRP based UI framework