add multiple call test
add receiver test
remove support for eager execution

too confusing and not really overly useful in most practical cases
add multiple callback check/test
change to make things future-like

in case you are weird and re-invoking the same thing a bunch