Rewrote caret implementation to store the information in the server.

14 files changed