/// <summary>
/// Creates a point symbol with custom fill and outline          
/// 
/// </summary>
/// <returns></returns>
internal static Task<CIMPointSymbol> CreatePointSymbolAsync()
{
  return QueuedTask.Run<CIMPointSymbol>(() =>
  {
    var circlePtSymbol = SymbolFactory.Instance.ConstructPointSymbol(ColorFactory.Instance.BlueRGB, 6, SimpleMarkerStyle.Circle);
    //Modifying this point symbol with the attributes we want.
    //getting the marker that is used to render the symbol
    var marker = circlePtSymbol.SymbolLayers[0] as CIMVectorMarker;
    //Getting the polygon symbol layers components in the marker
    var polySymbol = marker.MarkerGraphics[0].Symbol as CIMPolygonSymbol;
    //modifying the polygon's outline and width per requirements
    polySymbol.SymbolLayers[0] = SymbolFactory.Instance.ConstructStroke(ColorFactory.Instance.BlackRGB, 2, SimpleLineStyle.Solid); //This is the outline
    polySymbol.SymbolLayers[1] = SymbolFactory.Instance.ConstructSolidFill(ColorFactory.Instance.BlueRGB); //This is the fill
    return circlePtSymbol;
  });
}