Doors and Keys

Add a key item. Also turn Door into a interface. LinkDoor and Door also
have a setKey method