Squashed commit of the following:

commit c822827029c348300dbfe7476bd214cf568ee6d9
Author: Jacky Alciné <me@jalcine.me>
Date:   Sun Jul 20 00:01:43 2014 -0400

    Implemented ModulePool and wrote out accompanying tests.

Closes issue #22.