DropMessage refactoring: Don't use generic-parametered DropMessages

but ModelObjects as `data` field that shall be casted to specific target types afterwards.

Perhaps a reasonable way to get rid of the template-bracket-frenzy that's spread all over the code.
Please review and critizize - I haven't spent so much time in semantically walking through all the changes.

Resolves #199 once merged.
@Gottox do you really like the idea of the suggested ```as()``` method the most? This feels like a workaround for me. Of course casting the type is even more ugly.

Why not keeping generics because of these facts? Maybe there is even another -- better -- option.

This should be discussed and it's OK to be verbose here and explain the thoughts.