gearman client/worker/callback refactoring