[WIP] Refactor MSM

You'd presumably want an `else` here?