Implement DCLP for singletons

The new singleton instantiation pattern fixes #152 and closes #153.