Decoupled interpreter creation from scanner