Feature/#413 generic behavior
This creates a generic behavior, whoch can be used to create a behavior just by specifying two lambdas.
I am not entirely sure, what the signatures for these functions should be. So if you have any ideas, start a discussion.
Furthermore, I am not sure whether the onConstruction function is necessary...