#1 - allow traditional arguments by default unless an event object is passed