[DO NOT MERGE] Initial commit of refactor. Still contains old code.

technically, mongodb_broker_{user,password} only needs to be configured on mongo hosts and broker hosts