This should be volatile or start/stop should be synchronized.