Why are handlers not anonymous lambda implementation like DownloadHandler, DownloadExecutor, DownloadExecutorDelegate... ? The API is clean but complicated is it possible to reduce the API requirements and complexity of executor stuff?