## 2016-06-08 Fun with #Layers

Fun with Layers... and modules. 

Creating a layers should feel the same as creating functions or classes. That means that I don't want to do it so explicitly like:

```
var DevLayer = new cop.Layer()
DevLayer.name = "DevLayer" // for introspection...
```

There is for my taste... to much redundancy here.


So there the default syntax we used in ContextJS was the following:
```
cop.create("DevLayer")
```

This implicitly registered the `DevLayer` in a global scope. The explicit form would be:

```
cop.create(window, "DevLayer")
```

But since global state seems not to be en vouge any more, lets look if we can get our layers into the module local state. And thangs to some implemntation knwoledge... we can!

```
import * as cop from "src/../../ContextJS/Layers.js"

cop.create(__lvVarRecorder, "DevLayer").refineObject(d3, {
	select(name) {
		console.log("select " + name)
		return cop.proceed.apply(arguments)
	}	
})

```

But sadly... since `__lvVarRecorder` is a lexical variable we cannot access it. But I guess, this is exactly what I want now. 
