provides safe deep access to properties (read, write and invokation)