Fixing options and adding trait overrun.
Fixing trait add/remove.

I optimized it a bit too, since it had a bunch of duplicate code after
my changes.