Event class improvement

Event class has been improved. Time is now a property of the event. We also
improved the "add_property" function, which now requires rvalue or smart
pointer.