display class + some refactoring
return display instance to caller
keep reference to display to prevent it from being GC'd