Completely changed how entity transformations are handled. Instead of trying to encode all of the data for an update through a given function, instead the idea is to encode all of the data in a function that takes an Entity and produces an Entity. This can give the user ridiculous amounts of extensibility.