Split up the various effects into their own modules
Added Writer effect
Docs
Test suite