Object Oriented Programming for Graphical User Interfaces