/// <summary>
/// Creates a new <c>Object</c> that stores some external data.
/// </summary>
/// <remarks>
/// Requires an active script context.
/// </remarks>
/// <param name="data">External data that the object will represent. May be null.</param>
/// <param name="finalizer">
/// A callback for when the object is finalized. May be null.
/// </param>
/// <returns>The new <c>Object</c>.</returns>
public static JavaScriptValue CreateExternalObject(IntPtr data, JavaScriptObjectFinalizeCallback finalizer)
{
JavaScriptValue reference;
Native.ThrowIfError(Native.JsCreateExternalObject(data, finalizer, out reference));
return(reference);
}