currently the components return a custom-written dict, but redirecting this to use the built-in `__dict__` method would probably be an improvement.