Performance optimizations
Fix bug with multicast optimization
Fixing async code to work with base method invocations
Make sure duplicate base method shims don't get created
Make sure we don't decompose an expression we generated on our own since they won't be part of the syntax tree yet.