refactored I/O sources:
1. Added new getInputHandler for all modules
2. Refactored (simplified) existing getOutputHandler for all modules
3. Updated the AvroReading trait for consistency