A Comparison of the Architectures of the X Protocol Engine Library and Three Related Systems