Of course you can use it in the function itself, just be cautious that you don't create cyclic references by doing something stupid :)
This parameter gets incredibly handy when you use one callback function for multiple controls:
const var buttons = [];
for(i = 0; i < 128; i++)
{
buttons.push(Content.getComponent("button" + i);
}
inline function printMyIndex(component, value)
{
local index = buttons.indexOf(component);
Console.print("You clicked button " + index);
};
for(b in buttons)
b.setControlCallback(printMyIndex);
I've been using this paradigm in literally every project I am working on since it heavily reduces boilerplate code. Although it comes with a slight performance overhead because it needs to look up the index in the array, so if it's a time critical function, better code it manually...