Without analyzing the situation too much, -1 for the singleton pattern.