Replaced Batch and BatchResult with BatchableSource.
Finished implementing Json message encoders and added tests for all message encoders.
refactored and implemented hooks, simple logging, and performance counters.
Minor code review changes.