Regarding the $tag_table param, I think we can move away having to do that, I originally did my UserService that way, but the reality of the situation is - it doesn't really seem like that's ever going to change once it launches. Plus as @jcarouth mentioned, if you have to interact with any sort of relationship table, it will make it a bit more convoluted to try to implement multiple table configs.