PLAT-75 adding a dispatcher for the HAWelcome job

The current hook dispatch method is verbose and has some confusing
logic. Hopefully we can simplify it while adding some tests.

This is still a work in progress and will need to be wired in once the
refactoring is done.