Trying to iterate on the traits with options idea. Needs some more work. There is a test failing due to the trait race condition that I have been fighting with.