Fix javadoc
#6: Stores and providers should not extend Autoclosable
#5: Event source may not be null
Move defaultDispatch into own class
Remove deprecated constant
Minor improvements
Remove unnecessary synchronize block
Use custom functional interface instead of Runnable

This also makes SonarQube happy, because we do not have to call Runnable.run()
JavaDoc fixes