Implement DisplayDevice somewhat more properly