widget render uses this.layout as reference for rendering path