Use alternative domain model

Implements https://github.com/cssu/trackary/issues/6