Adding on-demand matcher for cases where the matcher must be generated on the fly
added matcher caching so OnDemand doesn't demand multiple times during a single pass
Fixed multiple enable problem
Ignore exceptions when removing the unremovable
Fixing event scheduling (by event not name)