feat(user plugins): defhandler accepts closures in addition to var symbols