Refactor into Interfaces for QueueFactory and dedicated namespace to eas...

...e extensions