@mjallday I like to provide expressive naming in most cases, however, yeah, you're right, this is a overkill here. In certain model context, this cannot help readability after all. I will correct them later.

But for Model suffixing, I think this is fine. The whole model here is different from what it used to be. I try to isolate business logic from SQLAlchemy object and operations. I don't want to expose too much SQLAlchemy details as when one day we like to switch NoSQL or something like that, it would be difficult to get rid of SQLAlchemy everywhere in the project, as I explained in #24. Also, there is table class named `Subscription`, I don't want them to be confusing. And from the big picture, it would be a MVC structure, the naming might look like this

```
[Subscription (table)] <---- [SubscriptionModel (business logic)] <---- [API web controller]
```

So, I will keep Model suffixing. Until I make this system workable, if you don't like naming style, I can make some change here.