I would also think that as soon as you leave the non-default behaviour, you should go into scripting it, otherwise I'll keep adding functionality to the default logic indefinitely. I mean you have to hook up the transport handler anyways and keeping a variable around that you increment and wrap around zero isn't rocket science.