Fixed the comparison on events and added equals and hash codes. Changed
from ArryList to Tree set so ordering is easier.
Updates