adding getType to IDocument for reflection purposes and changing the 
rabbitMQ to publish and consume Map<String,List<String>> where this list
include the operation and the type .
adding necessary changes for reflection