Honestly, I think `location` and `category` should probably just be attributes, rather than fields. That way, you don't need any of these exceptions.

This may get easier when edx/XBlock#65 gets merged.