Added an interface for the communication device, moved the enums to
their separate files (according to the java convention), create a
factory which should be used to create new instances of the
communication device. (to avoid having to replace a new implementation
in multiple places later)