refactor PBRenderable to PBLayer