Refactor 2: Removed the receiver's locks and essentially reverted to Saisai's original design

- Added back the callback on add/store data
- Changed offset check to distinguish between offset not existing and offset being 0
- Added a lot of docs on the callback's semantics
- Increased timeouts