Update protocol
Refactor object introspection