Switched to supporting reflection (prtocol lib)