Spec out registration system

Fixes #43