Your method executes the coolDown block not only every frame (30 or 60 times per second) but on every touch down, release of touch and move event that gets generated. It’s also more code organization. Generally you want functions to do what they need to do and in this case, the enterFrame listener just needs to manage the actions while the touch is going on. In your way, you have a function that is both doing the action in addition to handling the touch event when logically in they are different. This might be better stated, that it’s not logical to have enterFrame call a touch handler of that makes any sense.