Modified to be a class, as well as provided options for allowing short values and lowercase.
Bumping version.