add requested artifact concept
rename ArtifactOption to FileSystemOption, return RequestedArtifact as
Future<T>