I believe it is good practice for every task to have its own entry point (subroutine call address) for initialization. It's all part of being boringly consistent!
However, if you prefer, you can avoid having to write explicit initialization by exploiting the following special feature of the Resume instruction: If the resume address is zero, indicating it hasn't been initialized, the program will "fall through" to the instruction following the Resume. So I fibbed earlier about initialization being essential! I do really think it is good practice to have an explicit initialization call for all tasks.
Special note: This tutorial and the multitasking mechanism it covers have largely been superseded by the newer MultiTrack mechanism. MultiTrack achieves everything and more, with considerably less programming effort. The only time you would use this older multitasking mechanism would be if the controller you are using is unable to handle as many tasks as you need using MultiTrack.