Implement `learned` messages.

Closes #98.