Use STM instead of MVar
derp