Task-based execution