Clean up a bit
Introduce Module concept

Closes #2