From @poiuyqwert:
What really needs to be added to GPTP is a centralized hook manager, so that more than one plugin can use the same hooks without interfering. The general concept is that when a user goes to make a hook to their function through the hook manager, instead of adding the hook to that function, it would add the function pointer into an array and actually hook to a function on the manager which would call all the functions in that array.