create() and getSingleton() + tests