Triggering GameplayTasks and other latent action should generally be done on EnterState. Tick is called on each update (or event) and can cause huge amount of task added if the logic is not handled carefully. Tick should be generally be used for monitoring that require polling, or actions that require constant ticking.