Generic foreign key? I hope I didn't use one.

What I want to have is the following:
* In the front-end (session detail page `/schedule/sessions/:session_pk/`) the user should see an "attend" / "leave" button iff this type of session (referred through `self.kind`) is in the `settings.SCHEDULE_ATTENDING_POSSIBLE`. 
* It must be possible to limit the amount of participants of a session to a number, if one is given.
* A user should not be able to attend to sessions at the same time (independent of their type)