(WIP): Add base classes for opaque keys to be used by LMS, Studio, and the modulestores