Re-structure the codebase in order to make evident the different levels ...

...proposed in the architecture. Closes #9.