Refactor MUC implementation

I refactored the MUC implementation to hopefully join on push instead of persisting. I tried to run the tests, but kept getting:
```
[BUG] cross-thread violation on rb_gc()
(null)
```