Repository::provide now uses instantiateWithData method to create objects if they aren't provided, to avoid validation.