introduce canvas class to wrap drawing methods,
move rendering into delegate classes