Why does variants need a public function dict and list. This means that you can call this function from within the shell. What is private should start with an underscore.