fixes #34: allow handlers to return JS strings