In some cases, giving elements an id is undesirable. It would be better to just be able to pass in an object. For example with React, using IDs break the idea of writing reusable components.
Bad
var space = new CanvasSpace('canvas').setup( {bgcolor: '#f1f5f7'} )
render () {
return (
<canvas id="canvas" />
)
}
Good
var space = new CanvasSpace(this.refs.canvas).setup( {bgcolor: '#f1f5f7'} )
render () {
return (
<canvas ref="canvas" />
)
}