Organized, refactored and seperate different modules into different
packages.
More documentation added.
Classes make more sense now (esp. models.communication)