Foundations of GTK+ Development