Hooks service

This will throw for empty files. Is this OK with you?