split hooks into individual files

will be easier to identify individual changes and also easier to navigate the files (it's quicker to switch files than to find correct location inside same file) - most of the times you need to edit a single "hook".

PS: I'm still unsure about the globals usage... maybe we should require the utils individually.

closes #87