Moar #49

Refactoring Activities to provide ActivityServices
Activities are called using PlayerService.activity

** NOTE : THIS COMMIT IS BROKEN **