First pass at events. ref #1