Refactored BuildExecutionItem to make it easier to support cancellation once Gradle supports it.