test shared returns same object within the same namespace but different object for different namespace.
simplify singleton method.