Component refactor and venue-type model

Voisi jättää vielä pois.