graph canvas making decoupled from 'this'