Should we provide a tighter coupling with mathematical programming/optimisation? Perhaps through properties, or a similar mechanism?