Start reworking model interface to make it more generic.