Separate concerns of tryFireTimeEvent() and mark(). Add debug output.
Added support for filter.custom.expression to filter on e.g. source