fix button example in docs
rename hooks.call to hooks.setup
updating hook lifecycle (before, insteadof, after, ...)