CLJS-760: break apart IAtom protocol into IReset & ISwap