refactor venue list retrieval into a service
cache api requests - closes #1