DRY up with component adding and removal with correct hash initializer and extraction of key_name.
Merge pull request #53 from kaspth/slim-component

Simplified add_component and remove_component.