Begin implementing Learner.
Complete Learner implementation.
Merge branch `rewrite` into `master`.
Cluster keeps id -> address map.
Merge branch `rewrite` into `master`.