add `_HasProxy` abstract class to manage js.Proxy lifecycle