Revert back to 4030b73 and fix the virtual function wrapping
(#352)