Use reactive cocoa for refresh

also fixes an issue with layout-to-layout transitions