I would like to suggest this simple change in TimeLineMax.addCallback signature:
TimeLineMax.addCallback(callback, position, [args], scope)
TimeLineMax.addCallback(callback, position, scope, [args])
I know there is a reason to this current signature, but there is some situations where you don't want to set arguments, so the usage can be more simple and clean like this
var tmx = new TimelineMax;
// tmx.addCallback(onTMXComplete, tmx.totalDuration(), null, this)
tmx.addCallback(onTMXComplete, tmx.totalDuration(), this)
Look the last argument can be ignored.
Of course, this same sequence, can be used for any method that needs to set scope as argument (callback, scope, args).
Sorry if I made a suggestion in a wrong place.
UPDATE: I forgot to add position argument.