A building block for web-based text editors