[WIP] Refactor MSM

Huh? Compared to logging? IMO looking at the code, you see about the same thing

```
logging.info('sdfsdkbdsf dsf dfs nsdfkjsdf sdf')
```
vs
```
if verbose:
   print('sdjksdfbjkdsf dsf dsf dsf kdsf kdsf kdsfk jsdf jksdf jk kjdsf kdsf')
```

I mean, we can add a helper function `print_if_verbose = lambda verbose, *args, **kwars : print(*args, **kwargs) if verbose else None` if the extra line of indent is the major issue?