got rid of @SuppressWarnings("unchecked")
refactored ArtifactSaver
refactored ObjectBuilders
removed generic type from TaskOutput