[TASK] removed Action and Function interfaces in favour of jdk8's java.util.function.Function&Consumer versions
added implementation of a Both including a helper function to split a list of withers into a both of lists of lefts and rights