WIP link contract patterns
the supportsPersistence() method was actually a stupid idea