reworking component so that mongoose is not required except when testing...

...... changes interface for component as well, but simplifies how to require it