IW: Start testing

Minimal karma testing integration. 
Cleaner yes, but I wanted to expose the child objects so I could test the factory function. Maybe its not worth it. Not sure... I will defer to you on this.