Refactored DataHandlers to use abstract parent