The "return" is breaking things for you, and there's no need for the "sleep".
In your callback you could print out
print "results: "; m.LoginTask.results
to make sure you're getting the response you expect. You might need to get the result's "body" instead... If the callback is never triggered then you need to debug your task and make sure it's setting its "m.top.results"