https://s2-labs.com/developer-tutorials/trigger-order-of-execution/