Added custom hook errors
Added deps checking on hooks

Hooks can now specify a required backend.