Outside the scope of this PR, but somewhat higher priority because of it: we should specify how executeSingleAssetExit and executeExit behave when an asset transfer fails. I believe currently this will revert the entire transaction, which opens up griefing vectors where parties slip in "bad" assets and ruin things for everyone.
Originally posted by @geoknee in #69 (comment)