Changed OperatoinResult.Exception and OperationResult.IsSuccess setters modifiers from internal to protected as only inheriting types should need to set these properties.