change state and Syntax names, add ToDisposable()
improved disposable handling