You seem to want an optional argument to the environment itself Code: Not fully tested, so be cautious. The next example illustrates how to define a new command that takes one argument. A Year in Review.
A reader requests expansion of this page to include more material. While they are not fancy-looking, they obey all the established rules of good typesetting, which will make them easy to read and pleasant to look latex newcommand optional. A Year in Review. I think the question was about how to determine whether an optional argument was given, not providing a default.
There are also hooks for classes and packages. Although that's true, I found this question while looking for a way to provide a default argument, so this answer was the most useful one for me. A reader requests expansion of this page to include more material.