Improved tests, made interval components conform to protocol instead of subclass.