The other Element classes are based on expression.Function. The RasterElement class is based on expression.FunctionElement. I'm wondering why. A comment in the code would be good I think.