1. Extended it to subscribe to keywords, publish events with keywords
2. Added New options to PubSubCmdGui and corresponding methods in
relevant classes
3. Refactored a bit
4. Code to stop the agent GUI and the EM Server