Implement support for abstract models

Self explanatory. See #44 as well.

- have to go, opening PR for CI tests, full PR in a few hours -