Throw exception and set approriate status if exception occurs in hook

Fixes #197
travis: use progress3 to see full error message
Don't use lazy objects

This skews coverage reports and doesn't really speeds up the init