Change approach to categories

Categories seem to be far more convenient than a thousand of hardcoded methods like serializeSomething:withError.