Introduce Task and Command classes