1. Callback should be last argument.
2. I can't see any usage of callback argument. What the purpose of that method? Why it doesn't explained in method doc header?