New general GUI api for c#