This is useful for a couple of situations. First, it's useful when we want to create a locked object that simply can't be unlocked, such as a locked door that forms a permanent boundary of the map. Second, it's useful for locked objects that must be unlocked by some other means, such as manipulating an external mechanism (pulling a lever, say). In these cases, the trick is to figure out the separate means of unlocking the door, so we don't want the LOCK and UNLOCK commands to work directly.
IndirectLockable : Lockable