Component.mixin returns a new Component, added more tests