I would first question the basic premise of multiple user types. Is
that really necessary? Can a user every be of both types? Perhaps
the requirement is not for different types of users but for users with
different roles, meaning that a user can perform the role of a
publisher or a subscriber (in the example given) or perhaps even both.
In which case the requirement is just for a single user table with
something like cancan to provide roles.
Colin