Cleanup

@localshred bit of cleanup in preparation for more "real" fixes. In particular, this makes sure the spec protos are always compiled, which is kinda important.
Revert back to `class_eval`.