Improved encapsulation

Improved encapsulation by moving GUI markup code to separate source
files.