Single documents can be added to collections
Multiple documents can be added to collections
Refactor engine to use immutable vectors