individual key updates to use :register_parent_key
removed *args from register_parent
got rid of *optional_object and turned into two params