Model registers properly.

Rather than just using an object and accessing it directly, this gives us a
well-defined public interface.