Merge branch 'v0.7'
Removes all EnumMaps and generic types.

EnumMaps were causing too much hassle for not enough reward. Additionally, it
prevented passing varying types of DataEvents without unchecked casting at some
point. Arguably, EnumMaps could've remained in for DataActionHandler and not
DataEvent, but I felt it wasn't worth it. Maybe again later.