reimplemented customizable classes, now with tests

Note that this has never been a good idea.
-need to refactor static components to use this new metaclass
staticfiles fixes