register and invoke a system of callbacks in phases