At quick glance, nothing seems to be broken, but if things weird out, blame me. Now just the same for layers, channels and displays...
from all sorts of ugly dependencies.