Add action's name in error message when key is not found
Keep ivars 'private' to avoid ivar clashes
A safer call for class name, adding specs

Calling the `to_s` method on the class name to make sure we are always
dealing with a string in the error message. Adding a spec for the exact
error message for missed promised key(s).