add GenericMethodCache
add more OpenAction and OpenFunc
begin reflection based WeakEventHandler