Added experimental delete code
Fixed major scoping duplicating issue

This causes a scoping inhertance issue and should never have been
done like this. Removing this will remove a couple layers of scope
but I will need to rework how delete works. This will make
delete a lot less hacky