move opaque identifier to it's own class

fixes: PLAT-590

test-plan:
Passes Specs

Change-Id: I784221f4f33da7d561c5616bf587195461d4a04a
Reviewed-on: https://gerrit.instructure.com/38975
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Brad Humphrey <brad@instructure.com>
Reviewed-by: Nathan Mills <nathanm@instructure.com>
Product-Review: Nathan Mills <nathanm@instructure.com>
QA-Review: Nathan Mills <nathanm@instructure.com>