Changed package structure
Implemented the Preference Information Message
Separation of concerns:
Split the connection handling code from the agent code.
Implemented some TODO items and improved logging