Fix Mac build
Fix Mac build
New impl of Source/Sink. Uses weak pointer for caching