Use chained module definitions, closes #130
Merge pull request #29 from tlvince/refactor/chained-modules

Use chained module definitions, closes #130