практикуюсь писать хороший код на js, но не получается 
 
что-то не работает, а что - не пойму:
var draw = {
	tool:'pen', // Инструмент
	size:'5',  // Толщина
}
draw.init = function(){ //Иницилизация канвас
	this.canvas = document.getElementById('canvas');
	this.ctx = this.canvas.getContext('2d');
};
draw.drawing = function(tool){
	if(this.startDraw){
		this.ctx.strokeStyle = '#000';
		this.ctx.moveTo( this.x, this.y);
		this.canvas.lineWidth = this.size;
		this.canvas.lineCap = 'round';
		switch(tool){
			case 'pen':
				this.ctx.lineTo(this.x, this.y);
				this.ctx.moveTo(this.x, this.y);
				this.ctx.stroke();
				break;
		}
	}
}
Как я это использую:
draw.init();
	draw.canvas.addEventListener('mousedown', function(){
		draw.startDraw = true;
		draw.ctx.beginPath();
	}, false);
	draw.canvas.addEventListener('mousemove', function(e){
		draw.x = e.pageX - draw.canvas.offsetLeft; //Координата X
		draw.y = e.pageY - draw.canvas.offsetTop; //Координата Y
		draw.drawing('pen');
	}, false);
	draw.canvas.addEventListener('mouseup', function(){
		draw.startDraw = false;
	}, false);
<canvas width="700" height="500" style="border:1px solid #ccc;margin:10px;cursor:crosshair;" id="canvas"></canvas>