Refactor: Clean up the Reader and Writer interfaces for clearer specialization

Also re-design or just remove the "model" reader files.