New api: generate mappings from a descriptor object

Not ready to merge
check is function?

`return !!(obj && obj.constructor && obj.call && obj.apply);`