Generic Worker framework