Does your data() method get called at all?
Its signature looks right, so it should be.

Cheers,
_