module tinyevent;
alias Event(Args...) = void delegate(Args)[];
void emit(Args...)(void delegate(Args)[] events, Args args) {
foreach(fn; events)
fn(args);
}
unittest {
Event!string onStringChange;
onStringChange ~= (s) { assert(s == "Foo"); };
onStringChange.emit("Foo");
}