~75% rewrite (see desc)

now much more similar to the upcoming 'Proxy.create()' in ES.next