Implementation requires to provide static methods:
public static void initSingleton() {}
public static void shutdown() {}
public static boolean requiresToolkitLock() {}
public static boolean hasThreadingIssues() {}
Above static methods are invoked by NativeWindowFactory#initSingleton(),
or NativeWindowFactory#shutdown() via reflection.