Here are the changes (1) I reworked the EventManager API to make it a bit more coarse grained to allow easier extensions.
(2) I have removed the id packages from model.id, statemachine.id into a singular package api.id since some of the other packages had one or two classes and did not make sense to have too many packages just for ids. (3) I added a api.client package with interfaces for HelixConnectionFactory, HelixConnection, HelixSession as place holders which will get fleshed out after discussions. I did not move the HelixConnection from core> org.apache.helix as it has too many dependencies. I think we need to rework it into API piece by piece before we remove it. Please take a look. I will step away for a bit but will check back in soon. Thanks, Sandeep
