[WIP] Refactor MSM

"reversibility"