refactoring - weak reference in task
refactoring