Huge Update

I talked with @Zizaco , and we decided to refactor mongolid before adding new features.