@kiwidude: avoid using colons in the namespace and key names. Kovid's code uses a colon between these fields to generate the database key, which could in pathological cases lead to collisions. For example, (namespace="foo", key="bar:mumble") will collide with (namespace="foo:bar", key="mumble").
@kovid: you might want to forbid use of colons in both the namespace and the key to avoid the possibility of collisions. Not that such a collision would ever happen, of course.