proxy extends concrete class with spec map and can be changed dynamically with update-proxy