The current interface is confusing because the function returns
"a spec", not "specs", when the key argument is used. Return specs
consistently and leave the logic to pick up a specific spec to the code
using the utility method.
Change-Id: I256c080c8f472340cffe733423698a5fd1f487fd