The downside is the singleton is bound by Enum rules. For instance, the singleton cannot extend another class.