updating client with enum property support, removing internal onlyentities, use weak properties for back references