create that returns updated scope and child moved to trait for re-use