Add a read "hook"

Fixes #16