Moved expression compilation to new class ExpressionCompiler
Various refactoring and development