Fix how controller hooks work, so they're run on the right controller