some refactoring
refactor WeakEventHandler
extract CompileFunc and CompileAction from OpenAction and OpenFunc
extract caching to a builder decorator
extract builder from DynamicDelegate
remove DynamicEvent (NEVER USED)
update version
reduce usage of DynamicProperty
add more xml doc
extract builder from DynamicProperty
revert remove of DynamicEvent but mark as obsolete