diff --git a/.gitignore b/.gitignore
index af28a163..7ea2cdf1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -4,10 +4,7 @@ config/nginx.conf
 config/skylight.yml
 
 tmp/
-log/
 logs/
-!vendor/travis-core/lib/travis/logs/
-!vendor/travis-core/lib/travis/model/log/
 
 .yardoc
 .coverage
diff --git a/Gemfile b/Gemfile
index 22c6d8be..bcf3a8e2 100644
--- a/Gemfile
+++ b/Gemfile
@@ -3,7 +3,6 @@ gemspec
 
 gem 's3',              github: 'travis-ci/s3'
 
-gem 'travis-core',     path:   'vendor/travis-core'
 gem 'travis-support',  github: 'travis-ci/travis-support'
 gem 'travis-amqp',     github: 'travis-ci/travis-amqp'
 gem 'travis-config',   '~> 0.1.0'
diff --git a/Gemfile.lock b/Gemfile.lock
index 9d771a3a..82e45d07 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -101,29 +101,6 @@ PATH
       useragent
       virtus (~> 1.0.0)
 
-PATH
-  remote: vendor/travis-core
-  specs:
-    travis-core (0.0.1)
-      activerecord (~> 3.2.19)
-      coder (~> 0.4.0)
-      data_migrations (~> 0.0.1)
-      gh
-      google-api-client (~> 0.9.4)
-      hashr
-      metriks (~> 0.9.7)
-      multi_json
-      pusher (~> 0.14.0)
-      railties (~> 3.2.19)
-      rake
-      redis (~> 3.0)
-      rollout (~> 1.1.0)
-      s3 (~> 0.3)
-      simple_states (~> 1.0.0)
-      thor
-      travis-config (~> 0.1.0)
-      virtus (~> 1.0.0)
-
 GEM
   remote: https://rubygems.org/
   specs:
@@ -172,9 +149,6 @@ GEM
     customerio (1.0.0)
       multi_json (~> 1.0)
     dalli (2.7.6)
-    data_migrations (0.0.1)
-      activerecord
-      rake
     database_cleaner (0.8.0)
     descendants_tracker (0.0.4)
       thread_safe (~> 0.3, >= 0.3.1)
@@ -412,7 +386,6 @@ DEPENDENCIES
   travis-amqp!
   travis-api!
   travis-config (~> 0.1.0)
-  travis-core!
   travis-migrations!
   travis-settings!
   travis-sidekiqs!
diff --git a/Rakefile b/Rakefile
index dde12314..6e2e2574 100644
--- a/Rakefile
+++ b/Rakefile
@@ -18,7 +18,7 @@ end
 #     t.pattern = 'spec_core/**{,/*/**}/*_spec.rb'
 #   end
 #
-#   task :default => [:spec, :spec_core]
+#   task :default => [:spec]
 # rescue LoadError => e
 #   puts e.inspect
 # end
@@ -27,18 +27,8 @@ end
 namespace :spec do
   desc 'Run all specs'
   task :all do
-    sh 'bundle exec rspec -r spec_helper spec spec_core'
-  end
-
-  desc 'Run api specs'
-  task :api do
     sh 'bundle exec rspec -r spec_helper spec'
   end
-
-  desc 'Run core specs'
-  task :core do
-    sh 'bundle exec rspec -r spec_helper spec_core'
-  end
 end
 
 task :default => :'spec:all'
diff --git a/lib/travis.rb b/lib/travis.rb
index cf1fc094..76babe23 100644
--- a/lib/travis.rb
+++ b/lib/travis.rb
@@ -1,7 +1,6 @@
 require 'pusher'
 require 'travis/support'
 require 'travis/support/database'
-require 'travis/version'
 require 'travis/redis_pool'
 require 'travis/errors'
 
@@ -19,7 +18,6 @@ module Travis
   require 'travis/model'
   require 'travis/task'
   require 'travis/event'
-  require 'travis/addons'
   require 'travis/api/serialize'
   require 'travis/config/defaults'
   require 'travis/features'
@@ -43,7 +41,6 @@ module Travis
       Travis.logger.info('Setting up Travis::Core')
 
       Github.setup
-      Addons.register
       Services.register
       Github::Services.register
     end
diff --git a/vendor/travis-core/lib/travis/errors.rb b/lib/travis/errors.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/errors.rb
rename to lib/travis/errors.rb
diff --git a/vendor/travis-core/lib/travis/event.rb b/lib/travis/event.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/event.rb
rename to lib/travis/event.rb
diff --git a/vendor/travis-core/lib/travis/event/config.rb b/lib/travis/event/config.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/event/config.rb
rename to lib/travis/event/config.rb
diff --git a/vendor/travis-core/lib/travis/event/handler.rb b/lib/travis/event/handler.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/event/handler.rb
rename to lib/travis/event/handler.rb
diff --git a/vendor/travis-core/lib/travis/event/handler/metrics.rb b/lib/travis/event/handler/metrics.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/event/handler/metrics.rb
rename to lib/travis/event/handler/metrics.rb
diff --git a/vendor/travis-core/lib/travis/event/handler/trail.rb b/lib/travis/event/handler/trail.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/event/handler/trail.rb
rename to lib/travis/event/handler/trail.rb
diff --git a/vendor/travis-core/lib/travis/event/subscription.rb b/lib/travis/event/subscription.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/event/subscription.rb
rename to lib/travis/event/subscription.rb
diff --git a/vendor/travis-core/lib/travis/features.rb b/lib/travis/features.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/features.rb
rename to lib/travis/features.rb
diff --git a/vendor/travis-core/lib/travis/github.rb b/lib/travis/github.rb
similarity index 91%
rename from vendor/travis-core/lib/travis/github.rb
rename to lib/travis/github.rb
index 3afc1d72..6ff48dab 100644
--- a/vendor/travis-core/lib/travis/github.rb
+++ b/lib/travis/github.rb
@@ -11,7 +11,7 @@ module Travis
         GH.set(
           client_id:      Travis.config.oauth2.client_id,
           client_secret:  Travis.config.oauth2.client_secret,
-          user_agent:     "Travis-CI/#{Travis::VERSION} GH/#{GH::VERSION}",
+          user_agent:     "GH/#{GH::VERSION}",
           origin:         Travis.config.host,
           api_url:        Travis.config.github.api_url,
           ssl:            Travis.config.ssl.to_h.merge(Travis.config.github.ssl || {}).to_h.compact
diff --git a/vendor/travis-core/lib/travis/github/education.rb b/lib/travis/github/education.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/github/education.rb
rename to lib/travis/github/education.rb
diff --git a/vendor/travis-core/lib/travis/github/oauth.rb b/lib/travis/github/oauth.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/github/oauth.rb
rename to lib/travis/github/oauth.rb
diff --git a/vendor/travis-core/lib/travis/github/services.rb b/lib/travis/github/services.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/github/services.rb
rename to lib/travis/github/services.rb
diff --git a/vendor/travis-core/lib/travis/github/services/set_hook.rb b/lib/travis/github/services/set_hook.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/github/services/set_hook.rb
rename to lib/travis/github/services/set_hook.rb
diff --git a/vendor/travis-core/lib/travis/model.rb b/lib/travis/model.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/model.rb
rename to lib/travis/model.rb
diff --git a/vendor/travis-core/lib/travis/model/account.rb b/lib/travis/model/account.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/model/account.rb
rename to lib/travis/model/account.rb
diff --git a/vendor/travis-core/lib/travis/model/annotation.rb b/lib/travis/model/annotation.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/model/annotation.rb
rename to lib/travis/model/annotation.rb
diff --git a/vendor/travis-core/lib/travis/model/annotation_provider.rb b/lib/travis/model/annotation_provider.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/model/annotation_provider.rb
rename to lib/travis/model/annotation_provider.rb
diff --git a/vendor/travis-core/lib/travis/model/branch.rb b/lib/travis/model/branch.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/model/branch.rb
rename to lib/travis/model/branch.rb
diff --git a/vendor/travis-core/lib/travis/model/broadcast.rb b/lib/travis/model/broadcast.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/model/broadcast.rb
rename to lib/travis/model/broadcast.rb
diff --git a/vendor/travis-core/lib/travis/model/build.rb b/lib/travis/model/build.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/model/build.rb
rename to lib/travis/model/build.rb
diff --git a/vendor/travis-core/lib/travis/model/build/config.rb b/lib/travis/model/build/config.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/model/build/config.rb
rename to lib/travis/model/build/config.rb
diff --git a/vendor/travis-core/lib/travis/model/build/config/dist.rb b/lib/travis/model/build/config/dist.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/model/build/config/dist.rb
rename to lib/travis/model/build/config/dist.rb
diff --git a/vendor/travis-core/lib/travis/model/build/config/env.rb b/lib/travis/model/build/config/env.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/model/build/config/env.rb
rename to lib/travis/model/build/config/env.rb
diff --git a/vendor/travis-core/lib/travis/model/build/config/features.rb b/lib/travis/model/build/config/features.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/model/build/config/features.rb
rename to lib/travis/model/build/config/features.rb
diff --git a/vendor/travis-core/lib/travis/model/build/config/group.rb b/lib/travis/model/build/config/group.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/model/build/config/group.rb
rename to lib/travis/model/build/config/group.rb
diff --git a/vendor/travis-core/lib/travis/model/build/config/language.rb b/lib/travis/model/build/config/language.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/model/build/config/language.rb
rename to lib/travis/model/build/config/language.rb
diff --git a/vendor/travis-core/lib/travis/model/build/config/matrix.rb b/lib/travis/model/build/config/matrix.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/model/build/config/matrix.rb
rename to lib/travis/model/build/config/matrix.rb
diff --git a/vendor/travis-core/lib/travis/model/build/config/obfuscate.rb b/lib/travis/model/build/config/obfuscate.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/model/build/config/obfuscate.rb
rename to lib/travis/model/build/config/obfuscate.rb
diff --git a/vendor/travis-core/lib/travis/model/build/config/os.rb b/lib/travis/model/build/config/os.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/model/build/config/os.rb
rename to lib/travis/model/build/config/os.rb
diff --git a/vendor/travis-core/lib/travis/model/build/config/yaml.rb b/lib/travis/model/build/config/yaml.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/model/build/config/yaml.rb
rename to lib/travis/model/build/config/yaml.rb
diff --git a/vendor/travis-core/lib/travis/model/build/denormalize.rb b/lib/travis/model/build/denormalize.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/model/build/denormalize.rb
rename to lib/travis/model/build/denormalize.rb
diff --git a/vendor/travis-core/lib/travis/model/build/matrix.rb b/lib/travis/model/build/matrix.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/model/build/matrix.rb
rename to lib/travis/model/build/matrix.rb
diff --git a/vendor/travis-core/lib/travis/model/build/metrics.rb b/lib/travis/model/build/metrics.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/model/build/metrics.rb
rename to lib/travis/model/build/metrics.rb
diff --git a/vendor/travis-core/lib/travis/model/build/result_message.rb b/lib/travis/model/build/result_message.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/model/build/result_message.rb
rename to lib/travis/model/build/result_message.rb
diff --git a/vendor/travis-core/lib/travis/model/build/states.rb b/lib/travis/model/build/states.rb
similarity index 96%
rename from vendor/travis-core/lib/travis/model/build/states.rb
rename to lib/travis/model/build/states.rb
index 25b1193f..ae665acd 100644
--- a/vendor/travis-core/lib/travis/model/build/states.rb
+++ b/lib/travis/model/build/states.rb
@@ -28,21 +28,21 @@ class Build
       event :finish,  to: :finished, if: :should_finish?
       event :reset,   to: :created
       event :cancel,  to: :canceled, if: :cancelable?
-      event :all, after: [:denormalize, :notify]
+      event :all, after: [:denormalize]
     end
 
     def should_finish?
       matrix_finished? && !finished?
     end
-
+#TODO remove?
     def receive(data = {})
       self.received_at = data[:received_at]
     end
-
+#TODO remove?
     def start(data = {})
       self.started_at = data[:started_at]
     end
-
+#TODO remove?
     def finish(data = {})
       self.state = matrix_state
       self.duration = matrix_duration
@@ -50,7 +50,7 @@ class Build
 
       save!
     end
-
+#TODO remove?
     def cancel(options = {})
       matrix.each do |job|
         job.cancel!
diff --git a/vendor/travis-core/lib/travis/model/build/update_branch.rb b/lib/travis/model/build/update_branch.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/model/build/update_branch.rb
rename to lib/travis/model/build/update_branch.rb
diff --git a/vendor/travis-core/lib/travis/model/commit.rb b/lib/travis/model/commit.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/model/commit.rb
rename to lib/travis/model/commit.rb
diff --git a/vendor/travis-core/lib/travis/model/email.rb b/lib/travis/model/email.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/model/email.rb
rename to lib/travis/model/email.rb
diff --git a/vendor/travis-core/lib/travis/model/encrypted_column.rb b/lib/travis/model/encrypted_column.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/model/encrypted_column.rb
rename to lib/travis/model/encrypted_column.rb
diff --git a/vendor/travis-core/lib/travis/model/env_helpers.rb b/lib/travis/model/env_helpers.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/model/env_helpers.rb
rename to lib/travis/model/env_helpers.rb
diff --git a/vendor/travis-core/lib/travis/model/job.rb b/lib/travis/model/job.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/model/job.rb
rename to lib/travis/model/job.rb
diff --git a/vendor/travis-core/lib/travis/model/job/cleanup.rb b/lib/travis/model/job/cleanup.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/model/job/cleanup.rb
rename to lib/travis/model/job/cleanup.rb
diff --git a/vendor/travis-core/lib/travis/model/job/queue.rb b/lib/travis/model/job/queue.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/model/job/queue.rb
rename to lib/travis/model/job/queue.rb
diff --git a/vendor/travis-core/lib/travis/model/job/test.rb b/lib/travis/model/job/test.rb
similarity index 91%
rename from vendor/travis-core/lib/travis/model/job/test.rb
rename to lib/travis/model/job/test.rb
index 6977b598..97fd8642 100644
--- a/vendor/travis-core/lib/travis/model/job/test.rb
+++ b/lib/travis/model/job/test.rb
@@ -21,11 +21,10 @@ class Job
     event :finish,  to: :finished
     event :reset,   to: :created, unless: :created?
     event :cancel,  to: :canceled, if: :cancelable?
-    event :all, after: [:propagate, :notify]
+    event :all, after: [:propagate]
 
     def enqueue # TODO rename to queue and make it an event, simple_states should support that now
       update_attributes!(state: :queued, queued_at: Time.now.utc)
-      notify(:queue)
     end
 
     def receive(data = {})
@@ -95,13 +94,6 @@ class Job
       state == nil
     end
 
-    def notify(event, *args)
-      Metriks.timer("job.notify.#{event}").time do
-        event = :create if event == :reset
-        super
-      end
-    end
-
     delegate :id, :content, :to => :log, :prefix => true, :allow_nil => true
   end
 end
diff --git a/vendor/travis-core/lib/travis/model/log.rb b/lib/travis/model/log.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/model/log.rb
rename to lib/travis/model/log.rb
diff --git a/vendor/travis-core/lib/travis/model/log/part.rb b/lib/travis/model/log/part.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/model/log/part.rb
rename to lib/travis/model/log/part.rb
diff --git a/vendor/travis-core/lib/travis/model/logs_model.rb b/lib/travis/model/logs_model.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/model/logs_model.rb
rename to lib/travis/model/logs_model.rb
diff --git a/vendor/travis-core/lib/travis/model/membership.rb b/lib/travis/model/membership.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/model/membership.rb
rename to lib/travis/model/membership.rb
diff --git a/vendor/travis-core/lib/travis/model/organization.rb b/lib/travis/model/organization.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/model/organization.rb
rename to lib/travis/model/organization.rb
diff --git a/vendor/travis-core/lib/travis/model/permission.rb b/lib/travis/model/permission.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/model/permission.rb
rename to lib/travis/model/permission.rb
diff --git a/vendor/travis-core/lib/travis/model/repository.rb b/lib/travis/model/repository.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/model/repository.rb
rename to lib/travis/model/repository.rb
diff --git a/vendor/travis-core/lib/travis/model/repository/settings.rb b/lib/travis/model/repository/settings.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/model/repository/settings.rb
rename to lib/travis/model/repository/settings.rb
diff --git a/vendor/travis-core/lib/travis/model/repository/status_image.rb b/lib/travis/model/repository/status_image.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/model/repository/status_image.rb
rename to lib/travis/model/repository/status_image.rb
diff --git a/vendor/travis-core/lib/travis/model/request.rb b/lib/travis/model/request.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/model/request.rb
rename to lib/travis/model/request.rb
diff --git a/vendor/travis-core/lib/travis/model/request/pull_request.rb b/lib/travis/model/request/pull_request.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/model/request/pull_request.rb
rename to lib/travis/model/request/pull_request.rb
diff --git a/vendor/travis-core/lib/travis/model/ssl_key.rb b/lib/travis/model/ssl_key.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/model/ssl_key.rb
rename to lib/travis/model/ssl_key.rb
diff --git a/vendor/travis-core/lib/travis/model/token.rb b/lib/travis/model/token.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/model/token.rb
rename to lib/travis/model/token.rb
diff --git a/vendor/travis-core/lib/travis/model/url.rb b/lib/travis/model/url.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/model/url.rb
rename to lib/travis/model/url.rb
diff --git a/vendor/travis-core/lib/travis/model/user.rb b/lib/travis/model/user.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/model/user.rb
rename to lib/travis/model/user.rb
diff --git a/vendor/travis-core/lib/travis/model/user/oauth.rb b/lib/travis/model/user/oauth.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/model/user/oauth.rb
rename to lib/travis/model/user/oauth.rb
diff --git a/vendor/travis-core/lib/travis/model/user/renaming.rb b/lib/travis/model/user/renaming.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/model/user/renaming.rb
rename to lib/travis/model/user/renaming.rb
diff --git a/vendor/travis-core/lib/travis/notification.rb b/lib/travis/notification.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/notification.rb
rename to lib/travis/notification.rb
diff --git a/vendor/travis-core/lib/travis/notification/instrument.rb b/lib/travis/notification/instrument.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/notification/instrument.rb
rename to lib/travis/notification/instrument.rb
diff --git a/vendor/travis-core/lib/travis/notification/instrument/event_handler.rb b/lib/travis/notification/instrument/event_handler.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/notification/instrument/event_handler.rb
rename to lib/travis/notification/instrument/event_handler.rb
diff --git a/vendor/travis-core/lib/travis/notification/instrument/task.rb b/lib/travis/notification/instrument/task.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/notification/instrument/task.rb
rename to lib/travis/notification/instrument/task.rb
diff --git a/vendor/travis-core/lib/travis/notification/publisher.rb b/lib/travis/notification/publisher.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/notification/publisher.rb
rename to lib/travis/notification/publisher.rb
diff --git a/vendor/travis-core/lib/travis/notification/publisher/log.rb b/lib/travis/notification/publisher/log.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/notification/publisher/log.rb
rename to lib/travis/notification/publisher/log.rb
diff --git a/vendor/travis-core/lib/travis/notification/publisher/memory.rb b/lib/travis/notification/publisher/memory.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/notification/publisher/memory.rb
rename to lib/travis/notification/publisher/memory.rb
diff --git a/vendor/travis-core/lib/travis/notification/publisher/redis.rb b/lib/travis/notification/publisher/redis.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/notification/publisher/redis.rb
rename to lib/travis/notification/publisher/redis.rb
diff --git a/vendor/travis-core/lib/travis/redis_pool.rb b/lib/travis/redis_pool.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/redis_pool.rb
rename to lib/travis/redis_pool.rb
diff --git a/vendor/travis-core/lib/travis/secure_config.rb b/lib/travis/secure_config.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/secure_config.rb
rename to lib/travis/secure_config.rb
diff --git a/vendor/travis-core/lib/travis/services.rb b/lib/travis/services.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/services.rb
rename to lib/travis/services.rb
diff --git a/vendor/travis-core/lib/travis/services/base.rb b/lib/travis/services/base.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/services/base.rb
rename to lib/travis/services/base.rb
diff --git a/vendor/travis-core/lib/travis/services/delete_caches.rb b/lib/travis/services/delete_caches.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/services/delete_caches.rb
rename to lib/travis/services/delete_caches.rb
diff --git a/vendor/travis-core/lib/travis/services/find_admin.rb b/lib/travis/services/find_admin.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/services/find_admin.rb
rename to lib/travis/services/find_admin.rb
diff --git a/vendor/travis-core/lib/travis/services/find_annotations.rb b/lib/travis/services/find_annotations.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/services/find_annotations.rb
rename to lib/travis/services/find_annotations.rb
diff --git a/vendor/travis-core/lib/travis/services/find_branch.rb b/lib/travis/services/find_branch.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/services/find_branch.rb
rename to lib/travis/services/find_branch.rb
diff --git a/vendor/travis-core/lib/travis/services/find_branches.rb b/lib/travis/services/find_branches.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/services/find_branches.rb
rename to lib/travis/services/find_branches.rb
diff --git a/vendor/travis-core/lib/travis/services/find_build.rb b/lib/travis/services/find_build.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/services/find_build.rb
rename to lib/travis/services/find_build.rb
diff --git a/vendor/travis-core/lib/travis/services/find_builds.rb b/lib/travis/services/find_builds.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/services/find_builds.rb
rename to lib/travis/services/find_builds.rb
diff --git a/vendor/travis-core/lib/travis/services/find_caches.rb b/lib/travis/services/find_caches.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/services/find_caches.rb
rename to lib/travis/services/find_caches.rb
diff --git a/vendor/travis-core/lib/travis/services/find_hooks.rb b/lib/travis/services/find_hooks.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/services/find_hooks.rb
rename to lib/travis/services/find_hooks.rb
diff --git a/vendor/travis-core/lib/travis/services/find_job.rb b/lib/travis/services/find_job.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/services/find_job.rb
rename to lib/travis/services/find_job.rb
diff --git a/vendor/travis-core/lib/travis/services/find_jobs.rb b/lib/travis/services/find_jobs.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/services/find_jobs.rb
rename to lib/travis/services/find_jobs.rb
diff --git a/vendor/travis-core/lib/travis/services/find_log.rb b/lib/travis/services/find_log.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/services/find_log.rb
rename to lib/travis/services/find_log.rb
diff --git a/vendor/travis-core/lib/travis/services/find_repo.rb b/lib/travis/services/find_repo.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/services/find_repo.rb
rename to lib/travis/services/find_repo.rb
diff --git a/vendor/travis-core/lib/travis/services/find_repo_key.rb b/lib/travis/services/find_repo_key.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/services/find_repo_key.rb
rename to lib/travis/services/find_repo_key.rb
diff --git a/vendor/travis-core/lib/travis/services/find_repo_settings.rb b/lib/travis/services/find_repo_settings.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/services/find_repo_settings.rb
rename to lib/travis/services/find_repo_settings.rb
diff --git a/vendor/travis-core/lib/travis/services/find_repos.rb b/lib/travis/services/find_repos.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/services/find_repos.rb
rename to lib/travis/services/find_repos.rb
diff --git a/vendor/travis-core/lib/travis/services/find_request.rb b/lib/travis/services/find_request.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/services/find_request.rb
rename to lib/travis/services/find_request.rb
diff --git a/vendor/travis-core/lib/travis/services/find_requests.rb b/lib/travis/services/find_requests.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/services/find_requests.rb
rename to lib/travis/services/find_requests.rb
diff --git a/vendor/travis-core/lib/travis/services/find_user_accounts.rb b/lib/travis/services/find_user_accounts.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/services/find_user_accounts.rb
rename to lib/travis/services/find_user_accounts.rb
diff --git a/vendor/travis-core/lib/travis/services/find_user_broadcasts.rb b/lib/travis/services/find_user_broadcasts.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/services/find_user_broadcasts.rb
rename to lib/travis/services/find_user_broadcasts.rb
diff --git a/vendor/travis-core/lib/travis/services/find_user_permissions.rb b/lib/travis/services/find_user_permissions.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/services/find_user_permissions.rb
rename to lib/travis/services/find_user_permissions.rb
diff --git a/vendor/travis-core/lib/travis/services/helpers.rb b/lib/travis/services/helpers.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/services/helpers.rb
rename to lib/travis/services/helpers.rb
diff --git a/vendor/travis-core/lib/travis/services/next_build_number.rb b/lib/travis/services/next_build_number.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/services/next_build_number.rb
rename to lib/travis/services/next_build_number.rb
diff --git a/vendor/travis-core/lib/travis/services/regenerate_repo_key.rb b/lib/travis/services/regenerate_repo_key.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/services/regenerate_repo_key.rb
rename to lib/travis/services/regenerate_repo_key.rb
diff --git a/vendor/travis-core/lib/travis/services/registry.rb b/lib/travis/services/registry.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/services/registry.rb
rename to lib/travis/services/registry.rb
diff --git a/vendor/travis-core/lib/travis/services/remove_log.rb b/lib/travis/services/remove_log.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/services/remove_log.rb
rename to lib/travis/services/remove_log.rb
diff --git a/vendor/travis-core/lib/travis/services/sync_user.rb b/lib/travis/services/sync_user.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/services/sync_user.rb
rename to lib/travis/services/sync_user.rb
diff --git a/vendor/travis-core/lib/travis/services/update_annotation.rb b/lib/travis/services/update_annotation.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/services/update_annotation.rb
rename to lib/travis/services/update_annotation.rb
diff --git a/vendor/travis-core/lib/travis/services/update_hook.rb b/lib/travis/services/update_hook.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/services/update_hook.rb
rename to lib/travis/services/update_hook.rb
diff --git a/vendor/travis-core/lib/travis/services/update_job.rb b/lib/travis/services/update_job.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/services/update_job.rb
rename to lib/travis/services/update_job.rb
diff --git a/vendor/travis-core/lib/travis/services/update_log.rb b/lib/travis/services/update_log.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/services/update_log.rb
rename to lib/travis/services/update_log.rb
diff --git a/vendor/travis-core/lib/travis/services/update_user.rb b/lib/travis/services/update_user.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/services/update_user.rb
rename to lib/travis/services/update_user.rb
diff --git a/vendor/travis-core/lib/travis/states_cache.rb b/lib/travis/states_cache.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/states_cache.rb
rename to lib/travis/states_cache.rb
diff --git a/vendor/travis-core/lib/travis/task.rb b/lib/travis/task.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/task.rb
rename to lib/travis/task.rb
diff --git a/vendor/travis-core/lib/travis/testing.rb b/lib/travis/testing.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/testing.rb
rename to lib/travis/testing.rb
diff --git a/vendor/travis-core/lib/travis/testing/factories.rb b/lib/travis/testing/factories.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/testing/factories.rb
rename to lib/travis/testing/factories.rb
diff --git a/vendor/travis-core/lib/travis/testing/matchers.rb b/lib/travis/testing/matchers.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/testing/matchers.rb
rename to lib/travis/testing/matchers.rb
diff --git a/vendor/travis-core/lib/travis/testing/payloads.rb b/lib/travis/testing/payloads.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/testing/payloads.rb
rename to lib/travis/testing/payloads.rb
diff --git a/vendor/travis-core/lib/travis/testing/scenario.rb b/lib/travis/testing/scenario.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/testing/scenario.rb
rename to lib/travis/testing/scenario.rb
diff --git a/vendor/travis-core/lib/travis/testing/stubs.rb b/lib/travis/testing/stubs.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/testing/stubs.rb
rename to lib/travis/testing/stubs.rb
diff --git a/vendor/travis-core/lib/travis/testing/stubs/stub.rb b/lib/travis/testing/stubs/stub.rb
similarity index 100%
rename from vendor/travis-core/lib/travis/testing/stubs/stub.rb
rename to lib/travis/testing/stubs/stub.rb
diff --git a/spec_core/github/oauth_spec.rb b/spec/lib/github/oauth_spec.rb
similarity index 100%
rename from spec_core/github/oauth_spec.rb
rename to spec/lib/github/oauth_spec.rb
diff --git a/spec_core/model/annotation_provider_spec.rb b/spec/lib/model/annotation_provider_spec.rb
similarity index 100%
rename from spec_core/model/annotation_provider_spec.rb
rename to spec/lib/model/annotation_provider_spec.rb
diff --git a/spec_core/model/annotation_spec.rb b/spec/lib/model/annotation_spec.rb
similarity index 100%
rename from spec_core/model/annotation_spec.rb
rename to spec/lib/model/annotation_spec.rb
diff --git a/spec_core/model/broadcast_spec.rb b/spec/lib/model/broadcast_spec.rb
similarity index 100%
rename from spec_core/model/broadcast_spec.rb
rename to spec/lib/model/broadcast_spec.rb
diff --git a/spec_core/model/build/config/dist_spec.rb b/spec/lib/model/build/config/dist_spec.rb
similarity index 100%
rename from spec_core/model/build/config/dist_spec.rb
rename to spec/lib/model/build/config/dist_spec.rb
diff --git a/spec_core/model/build/config/group_spec.rb b/spec/lib/model/build/config/group_spec.rb
similarity index 100%
rename from spec_core/model/build/config/group_spec.rb
rename to spec/lib/model/build/config/group_spec.rb
diff --git a/spec_core/model/build/config/matrix_spec.rb b/spec/lib/model/build/config/matrix_spec.rb
similarity index 100%
rename from spec_core/model/build/config/matrix_spec.rb
rename to spec/lib/model/build/config/matrix_spec.rb
diff --git a/spec_core/model/build/config/obfuscate_spec.rb b/spec/lib/model/build/config/obfuscate_spec.rb
similarity index 100%
rename from spec_core/model/build/config/obfuscate_spec.rb
rename to spec/lib/model/build/config/obfuscate_spec.rb
diff --git a/spec_core/model/build/config_spec.rb b/spec/lib/model/build/config_spec.rb
similarity index 100%
rename from spec_core/model/build/config_spec.rb
rename to spec/lib/model/build/config_spec.rb
diff --git a/spec_core/model/build/denormalize_spec.rb b/spec/lib/model/build/denormalize_spec.rb
similarity index 100%
rename from spec_core/model/build/denormalize_spec.rb
rename to spec/lib/model/build/denormalize_spec.rb
diff --git a/spec_core/model/build/matrix_spec.rb b/spec/lib/model/build/matrix_spec.rb
similarity index 100%
rename from spec_core/model/build/matrix_spec.rb
rename to spec/lib/model/build/matrix_spec.rb
diff --git a/spec_core/model/build/metrics_spec.rb b/spec/lib/model/build/metrics_spec.rb
similarity index 100%
rename from spec_core/model/build/metrics_spec.rb
rename to spec/lib/model/build/metrics_spec.rb
diff --git a/spec_core/model/build/result_message_spec.rb b/spec/lib/model/build/result_message_spec.rb
similarity index 100%
rename from spec_core/model/build/result_message_spec.rb
rename to spec/lib/model/build/result_message_spec.rb
diff --git a/spec_core/model/build/states_spec.rb b/spec/lib/model/build/states_spec.rb
similarity index 76%
rename from spec_core/model/build/states_spec.rb
rename to spec/lib/model/build/states_spec.rb
index e394d913..cc17e674 100644
--- a/spec_core/model/build/states_spec.rb
+++ b/spec/lib/model/build/states_spec.rb
@@ -57,44 +57,24 @@ describe Build::States do
           build.receive(data)
           build.state.should == :received
         end
-
-        it 'notifies observers' do
-          Travis::Event.expects(:dispatch).with('build:received', build, data)
-          build.receive(data)
-        end
       end
 
       describe 'when the build is already received' do
         before :each do
           build.state = :received
         end
-
-        it 'does not notify observers' do
-          Travis::Event.expects(:dispatch).never
-          build.receive(data)
-        end
       end
 
       describe 'when the build has failed' do
         before :each do
           build.state = :failed
         end
-
-        it 'does not notify observers' do
-          Travis::Event.expects(:dispatch).never
-          build.receive(data)
-        end
       end
 
       describe 'when the build has errored' do
         before :each do
           build.state = :errored
         end
-
-        it 'does not notify observers' do
-          Travis::Event.expects(:dispatch).never
-          build.receive(data)
-        end
       end
     end
 
@@ -111,11 +91,6 @@ describe Build::States do
           build.expects(:denormalize)
           build.start(data)
         end
-
-        it 'notifies observers' do
-          Travis::Event.expects(:dispatch).with('build:started', build, data)
-          build.start(data)
-        end
       end
 
       describe 'when the build is already started' do
@@ -127,11 +102,6 @@ describe Build::States do
           build.expects(:denormalize).never
           build.start(data)
         end
-
-        it 'does not notify observers' do
-          Travis::Event.expects(:dispatch).never
-          build.start(data)
-        end
       end
 
       describe 'when the build has failed' do
@@ -143,11 +113,6 @@ describe Build::States do
           build.expects(:denormalize).never
           build.start(data)
         end
-
-        it 'does not notify observers' do
-          Travis::Event.expects(:dispatch).never
-          build.start(data)
-        end
       end
 
       describe 'when the build has errored' do
@@ -159,11 +124,6 @@ describe Build::States do
           build.expects(:denormalize).never
           build.start(data)
         end
-
-        it 'does not notify observers' do
-          Travis::Event.expects(:dispatch).never
-          build.start(data)
-        end
       end
     end
 
@@ -184,11 +144,6 @@ describe Build::States do
             build.expects(:denormalize).never
             build.finish(data)
           end
-
-          it 'does not notify observers' do
-            Travis::Event.expects(:dispatch).never
-            build.finish(data)
-          end
         end
       end
 
@@ -217,11 +172,6 @@ describe Build::States do
             build.expects(:denormalize).with(:finish, data)
             build.finish(data)
           end
-
-          it 'notifies observers' do
-            Travis::Event.expects(:dispatch).with('build:finished', build, data)
-            build.finish(data)
-          end
         end
 
         describe 'when the build has already finished' do
@@ -233,11 +183,6 @@ describe Build::States do
             build.expects(:denormalize).never
             build.finish(data)
           end
-
-          it 'does not notify observers' do
-            Travis::Event.expects(:dispatch).never
-            build.finish(data)
-          end
         end
       end
     end
diff --git a/spec_core/model/build/update_branch_spec.rb b/spec/lib/model/build/update_branch_spec.rb
similarity index 100%
rename from spec_core/model/build/update_branch_spec.rb
rename to spec/lib/model/build/update_branch_spec.rb
diff --git a/spec_core/model/build_spec.rb b/spec/lib/model/build_spec.rb
similarity index 98%
rename from spec_core/model/build_spec.rb
rename to spec/lib/model/build_spec.rb
index c9002034..78edaad8 100644
--- a/spec_core/model/build_spec.rb
+++ b/spec/lib/model/build_spec.rb
@@ -325,11 +325,6 @@ describe Build do
         build.matrix.each { |job| job.expects(:reset).never }
         build.reset
       end
-
-      it 'notifies obsevers' do
-        Travis::Event.expects(:dispatch).with('build:created', build)
-        build.reset
-      end
     end
   end
 end
diff --git a/spec_core/model/commit_spec.rb b/spec/lib/model/commit_spec.rb
similarity index 100%
rename from spec_core/model/commit_spec.rb
rename to spec/lib/model/commit_spec.rb
diff --git a/spec_core/model/encrypted_column_spec.rb b/spec/lib/model/encrypted_column_spec.rb
similarity index 100%
rename from spec_core/model/encrypted_column_spec.rb
rename to spec/lib/model/encrypted_column_spec.rb
diff --git a/spec_core/model/job/cleanup_spec.rb b/spec/lib/model/job/cleanup_spec.rb
similarity index 100%
rename from spec_core/model/job/cleanup_spec.rb
rename to spec/lib/model/job/cleanup_spec.rb
diff --git a/spec_core/model/job/queue_spec.rb b/spec/lib/model/job/queue_spec.rb
similarity index 100%
rename from spec_core/model/job/queue_spec.rb
rename to spec/lib/model/job/queue_spec.rb
diff --git a/spec_core/model/job/test_spec.rb b/spec/lib/model/job/test_spec.rb
similarity index 88%
rename from spec_core/model/job/test_spec.rb
rename to spec/lib/model/job/test_spec.rb
index bd3135f4..345ad20b 100644
--- a/spec_core/model/job/test_spec.rb
+++ b/spec/lib/model/job/test_spec.rb
@@ -82,11 +82,6 @@ describe Job::Test do
         job.receive(data)
       end
 
-      it 'notifies observers' do
-        Travis::Event.expects(:dispatch).with('job:test:received', job, data)
-        job.receive(data)
-      end
-
       it 'propagates the event to the source' do
         job.source.expects(:receive)
         job.receive(data)
@@ -109,11 +104,6 @@ describe Job::Test do
         job.state.should == :started
       end
 
-      it 'notifies observers' do
-        Travis::Event.expects(:dispatch).with('job:test:started', job, data)
-        job.start(data)
-      end
-
       it 'propagates the event to the source' do
         job.source.expects(:start)
         job.start(data)
@@ -128,11 +118,6 @@ describe Job::Test do
         job.state.should == 'passed'
       end
 
-      it 'notifies observers' do
-        Travis::Event.expects(:dispatch).with('job:test:finished', job, data)
-        job.finish(data)
-      end
-
       it 'propagates the event to the source' do
         job.source.expects(:finish).with(data)
         job.finish(data)
@@ -176,11 +161,6 @@ describe Job::Test do
         job.reset!
         job.reload.annotations.should be_empty
       end
-
-      it 'triggers a :created event' do
-        job.expects(:notify).with(:reset)
-        job.reset
-      end
     end
   end
 end
diff --git a/spec_core/model/job_spec.rb b/spec/lib/model/job_spec.rb
similarity index 100%
rename from spec_core/model/job_spec.rb
rename to spec/lib/model/job_spec.rb
diff --git a/spec_core/model/organization_spec.rb b/spec/lib/model/organization_spec.rb
similarity index 100%
rename from spec_core/model/organization_spec.rb
rename to spec/lib/model/organization_spec.rb
diff --git a/spec_core/model/permission_spec.rb b/spec/lib/model/permission_spec.rb
similarity index 100%
rename from spec_core/model/permission_spec.rb
rename to spec/lib/model/permission_spec.rb
diff --git a/spec_core/model/repository/settings/ssh_key_spec.rb b/spec/lib/model/repository/settings/ssh_key_spec.rb
similarity index 100%
rename from spec_core/model/repository/settings/ssh_key_spec.rb
rename to spec/lib/model/repository/settings/ssh_key_spec.rb
diff --git a/spec_core/model/repository/settings_spec.rb b/spec/lib/model/repository/settings_spec.rb
similarity index 100%
rename from spec_core/model/repository/settings_spec.rb
rename to spec/lib/model/repository/settings_spec.rb
diff --git a/spec_core/model/repository/status_image_spec.rb b/spec/lib/model/repository/status_image_spec.rb
similarity index 100%
rename from spec_core/model/repository/status_image_spec.rb
rename to spec/lib/model/repository/status_image_spec.rb
diff --git a/spec_core/model/repository_spec.rb b/spec/lib/model/repository_spec.rb
similarity index 100%
rename from spec_core/model/repository_spec.rb
rename to spec/lib/model/repository_spec.rb
diff --git a/spec_core/model/request_spec.rb b/spec/lib/model/request_spec.rb
similarity index 100%
rename from spec_core/model/request_spec.rb
rename to spec/lib/model/request_spec.rb
diff --git a/spec_core/model/ssl_key_spec.rb b/spec/lib/model/ssl_key_spec.rb
similarity index 100%
rename from spec_core/model/ssl_key_spec.rb
rename to spec/lib/model/ssl_key_spec.rb
diff --git a/spec_core/model/token_spec.rb b/spec/lib/model/token_spec.rb
similarity index 100%
rename from spec_core/model/token_spec.rb
rename to spec/lib/model/token_spec.rb
diff --git a/spec_core/model/url_spec.rb b/spec/lib/model/url_spec.rb
similarity index 100%
rename from spec_core/model/url_spec.rb
rename to spec/lib/model/url_spec.rb
diff --git a/spec_core/model/user/oauth_spec.rb b/spec/lib/model/user/oauth_spec.rb
similarity index 100%
rename from spec_core/model/user/oauth_spec.rb
rename to spec/lib/model/user/oauth_spec.rb
diff --git a/spec_core/model/user_spec.rb b/spec/lib/model/user_spec.rb
similarity index 100%
rename from spec_core/model/user_spec.rb
rename to spec/lib/model/user_spec.rb
diff --git a/spec_core/services/find_admin_spec.rb b/spec/lib/services/find_admin_spec.rb
similarity index 100%
rename from spec_core/services/find_admin_spec.rb
rename to spec/lib/services/find_admin_spec.rb
diff --git a/spec_core/services/find_annotation_spec.rb b/spec/lib/services/find_annotation_spec.rb
similarity index 100%
rename from spec_core/services/find_annotation_spec.rb
rename to spec/lib/services/find_annotation_spec.rb
diff --git a/spec_core/services/find_branch_spec.rb b/spec/lib/services/find_branch_spec.rb
similarity index 100%
rename from spec_core/services/find_branch_spec.rb
rename to spec/lib/services/find_branch_spec.rb
diff --git a/spec_core/services/find_branches_spec.rb b/spec/lib/services/find_branches_spec.rb
similarity index 100%
rename from spec_core/services/find_branches_spec.rb
rename to spec/lib/services/find_branches_spec.rb
diff --git a/spec_core/services/find_build_spec.rb b/spec/lib/services/find_build_spec.rb
similarity index 100%
rename from spec_core/services/find_build_spec.rb
rename to spec/lib/services/find_build_spec.rb
diff --git a/spec_core/services/find_builds_spec.rb b/spec/lib/services/find_builds_spec.rb
similarity index 100%
rename from spec_core/services/find_builds_spec.rb
rename to spec/lib/services/find_builds_spec.rb
diff --git a/spec_core/services/find_caches_spec.rb b/spec/lib/services/find_caches_spec.rb
similarity index 100%
rename from spec_core/services/find_caches_spec.rb
rename to spec/lib/services/find_caches_spec.rb
diff --git a/spec_core/services/find_hooks_spec.rb b/spec/lib/services/find_hooks_spec.rb
similarity index 100%
rename from spec_core/services/find_hooks_spec.rb
rename to spec/lib/services/find_hooks_spec.rb
diff --git a/spec_core/services/find_job_spec.rb b/spec/lib/services/find_job_spec.rb
similarity index 100%
rename from spec_core/services/find_job_spec.rb
rename to spec/lib/services/find_job_spec.rb
diff --git a/spec_core/services/find_jobs_spec.rb b/spec/lib/services/find_jobs_spec.rb
similarity index 100%
rename from spec_core/services/find_jobs_spec.rb
rename to spec/lib/services/find_jobs_spec.rb
diff --git a/spec_core/services/find_log_spec.rb b/spec/lib/services/find_log_spec.rb
similarity index 100%
rename from spec_core/services/find_log_spec.rb
rename to spec/lib/services/find_log_spec.rb
diff --git a/spec_core/services/find_repo_key_spec.rb b/spec/lib/services/find_repo_key_spec.rb
similarity index 100%
rename from spec_core/services/find_repo_key_spec.rb
rename to spec/lib/services/find_repo_key_spec.rb
diff --git a/spec_core/services/find_repo_settings_spec.rb b/spec/lib/services/find_repo_settings_spec.rb
similarity index 100%
rename from spec_core/services/find_repo_settings_spec.rb
rename to spec/lib/services/find_repo_settings_spec.rb
diff --git a/spec_core/services/find_repo_spec.rb b/spec/lib/services/find_repo_spec.rb
similarity index 100%
rename from spec_core/services/find_repo_spec.rb
rename to spec/lib/services/find_repo_spec.rb
diff --git a/spec_core/services/find_repos_spec.rb b/spec/lib/services/find_repos_spec.rb
similarity index 100%
rename from spec_core/services/find_repos_spec.rb
rename to spec/lib/services/find_repos_spec.rb
diff --git a/spec_core/services/find_request_spec.rb b/spec/lib/services/find_request_spec.rb
similarity index 100%
rename from spec_core/services/find_request_spec.rb
rename to spec/lib/services/find_request_spec.rb
diff --git a/spec_core/services/find_requests_spec.rb b/spec/lib/services/find_requests_spec.rb
similarity index 100%
rename from spec_core/services/find_requests_spec.rb
rename to spec/lib/services/find_requests_spec.rb
diff --git a/spec_core/services/find_user_accounts_spec.rb b/spec/lib/services/find_user_accounts_spec.rb
similarity index 100%
rename from spec_core/services/find_user_accounts_spec.rb
rename to spec/lib/services/find_user_accounts_spec.rb
diff --git a/spec_core/services/next_build_number_spec.rb b/spec/lib/services/next_build_number_spec.rb
similarity index 100%
rename from spec_core/services/next_build_number_spec.rb
rename to spec/lib/services/next_build_number_spec.rb
diff --git a/spec_core/services/regenerate_repo_key_spec.rb b/spec/lib/services/regenerate_repo_key_spec.rb
similarity index 100%
rename from spec_core/services/regenerate_repo_key_spec.rb
rename to spec/lib/services/regenerate_repo_key_spec.rb
diff --git a/spec_core/services/remove_log_spec.rb b/spec/lib/services/remove_log_spec.rb
similarity index 100%
rename from spec_core/services/remove_log_spec.rb
rename to spec/lib/services/remove_log_spec.rb
diff --git a/spec_core/services/sync_user_spec.rb b/spec/lib/services/sync_user_spec.rb
similarity index 100%
rename from spec_core/services/sync_user_spec.rb
rename to spec/lib/services/sync_user_spec.rb
diff --git a/spec_core/services/update_annotation_spec.rb b/spec/lib/services/update_annotation_spec.rb
similarity index 100%
rename from spec_core/services/update_annotation_spec.rb
rename to spec/lib/services/update_annotation_spec.rb
diff --git a/spec_core/services/update_hook_spec.rb b/spec/lib/services/update_hook_spec.rb
similarity index 100%
rename from spec_core/services/update_hook_spec.rb
rename to spec/lib/services/update_hook_spec.rb
diff --git a/spec_core/services/update_job_spec.rb b/spec/lib/services/update_job_spec.rb
similarity index 100%
rename from spec_core/services/update_job_spec.rb
rename to spec/lib/services/update_job_spec.rb
diff --git a/spec_core/services/update_log_spec.rb b/spec/lib/services/update_log_spec.rb
similarity index 100%
rename from spec_core/services/update_log_spec.rb
rename to spec/lib/services/update_log_spec.rb
diff --git a/spec_core/services/update_user_spec.rb b/spec/lib/services/update_user_spec.rb
similarity index 100%
rename from spec_core/services/update_user_spec.rb
rename to spec/lib/services/update_user_spec.rb
diff --git a/spec_core/services_spec.rb b/spec/lib/services_spec.rb
similarity index 100%
rename from spec_core/services_spec.rb
rename to spec/lib/services_spec.rb
diff --git a/vendor/travis-core/lib/travis/addons.rb b/vendor/travis-core/lib/travis/addons.rb
deleted file mode 100644
index 240c66cc..00000000
--- a/vendor/travis-core/lib/travis/addons.rb
+++ /dev/null
@@ -1,31 +0,0 @@
-require 'travis/notification'
-
-module Travis
-  module Addons
-    require 'travis/addons/archive'
-    require 'travis/addons/campfire'
-    require 'travis/addons/email'
-    require 'travis/addons/flowdock'
-    require 'travis/addons/github_status'
-    require 'travis/addons/hipchat'
-    require 'travis/addons/irc'
-    require 'travis/addons/pusher'
-    require 'travis/addons/states_cache'
-    require 'travis/addons/sqwiggle'
-    require 'travis/addons/webhook'
-    require 'travis/addons/slack'
-    require 'travis/addons/pushover'
-
-    class << self
-      def register
-        constants(false).each do |name|
-          key = name.to_s.underscore
-          const = const_get(name)
-          handler = const.const_get(:EventHandler) rescue nil
-          Travis::Event::Subscription.register(key, handler) if handler
-          const.setup if const.respond_to?(:setup)
-        end
-      end
-    end
-  end
-end
diff --git a/vendor/travis-core/lib/travis/addons/README.markdown b/vendor/travis-core/lib/travis/addons/README.markdown
deleted file mode 100644
index 936031d5..00000000
--- a/vendor/travis-core/lib/travis/addons/README.markdown
+++ /dev/null
@@ -1,17 +0,0 @@
-# Travis Core Addons
-
-The Addons are event handlers that accepts events such as "build finished" and forwards them to different services. The different services are:
-
-- Campfire
-- E-mail
-- Flowdock
-- GitHub Commit Statuses
-- Hipchat
-- IRC
-- Pusher: Used to update our Web UI automatically.
-- Sqwiggle
-- States cache: Caches the state of each branch in Memcached for status images.
-- Webhook
-- Pushover
-
-To add a new notification service, an event handler and a task is needed. The event handler is run by [`travis-hub`](https://github.com/travis-ci/travis-hub) and has access to the database. This should check whether the event should be forwarded at all, and pull out any necessary configuration values. It should then asynchronously run the corresponding Task. The Task is run by [`travis-tasks`](https://github.com/travis-ci/travis-tasks) via Sidekiq and should do the actual API calls needed. The event handler should finish very quickly, while the task is allowed to take longer. 
diff --git a/vendor/travis-core/lib/travis/addons/archive.rb b/vendor/travis-core/lib/travis/addons/archive.rb
deleted file mode 100644
index cc66d4a9..00000000
--- a/vendor/travis-core/lib/travis/addons/archive.rb
+++ /dev/null
@@ -1,8 +0,0 @@
-module Travis
-  module Addons
-    module Archive
-      require 'travis/addons/archive/event_handler'
-      require 'travis/addons/archive/task'
-    end
-  end
-end
diff --git a/vendor/travis-core/lib/travis/addons/archive/event_handler.rb b/vendor/travis-core/lib/travis/addons/archive/event_handler.rb
deleted file mode 100644
index 725c251d..00000000
--- a/vendor/travis-core/lib/travis/addons/archive/event_handler.rb
+++ /dev/null
@@ -1,36 +0,0 @@
-require 'travis/addons/archive/task'
-require 'travis/event/handler'
-require 'travis/features'
-
-module Travis
-  module Addons
-    module Archive
-      class EventHandler < Event::Handler
-        EVENTS = /log:aggregated/
-
-        def handle?
-          Travis::Features.feature_active?(:log_archiving)
-        end
-
-        def handle
-          Travis::Addons::Archive::Task.run(:archive, payload)
-        end
-
-        def payload
-          @payload ||= { type: type, id: object.id, job_id: object.job_id }
-        end
-
-        def type
-          @type ||= event.split(':').first
-        end
-
-        class Instrument < Notification::Instrument::EventHandler
-          def notify_completed
-            publish(payload: handler.payload)
-          end
-        end
-        Instrument.attach_to(self)
-      end
-    end
-  end
-end
diff --git a/vendor/travis-core/lib/travis/addons/archive/task.rb b/vendor/travis-core/lib/travis/addons/archive/task.rb
deleted file mode 100644
index 37b974ee..00000000
--- a/vendor/travis-core/lib/travis/addons/archive/task.rb
+++ /dev/null
@@ -1,24 +0,0 @@
-require 'travis/task'
-
-module Travis
-  module Addons
-    module Archive
-      class Task < Travis::Task
-        def process
-          Travis.run_service(:"archive_#{payload[:type]}", id: payload[:id], job_id: payload[:job_id])
-        end
-
-        class Instrument < Notification::Instrument::Task
-          def run_completed
-            publish(
-              :msg => "for #<#{target.payload[:type].camelize} id=#{target.payload[:id]}>",
-              :object_type => target.payload[:type].camelize,
-              :object_id => target.payload[:id]
-            )
-          end
-        end
-        Instrument.attach_to(self)
-      end
-    end
-  end
-end
diff --git a/vendor/travis-core/lib/travis/addons/campfire.rb b/vendor/travis-core/lib/travis/addons/campfire.rb
deleted file mode 100644
index 6aada6d5..00000000
--- a/vendor/travis-core/lib/travis/addons/campfire.rb
+++ /dev/null
@@ -1,13 +0,0 @@
-module Travis
-  module Addons
-    module Campfire
-      module Instruments
-        require 'travis/addons/campfire/instruments'
-      end
-
-      require 'travis/addons/campfire/event_handler'
-
-      class Task < ::Travis::Task; end
-    end
-  end
-end
diff --git a/vendor/travis-core/lib/travis/addons/campfire/event_handler.rb b/vendor/travis-core/lib/travis/addons/campfire/event_handler.rb
deleted file mode 100644
index 0a312c81..00000000
--- a/vendor/travis-core/lib/travis/addons/campfire/event_handler.rb
+++ /dev/null
@@ -1,33 +0,0 @@
-require 'travis/addons/campfire/instruments'
-require 'travis/event/handler'
-
-module Travis
-  module Addons
-    module Campfire
-
-      # Publishes a build notification to campfire rooms as defined in the
-      # configuration (`.travis.yml`).
-      #
-      # Campfire credentials are encrypted using the repository's ssl key.
-      class EventHandler < Event::Handler
-        API_VERSION = 'v2'
-
-        EVENTS = /build:finished/
-
-        def handle?
-          !pull_request? && targets.present? && config.send_on_finished_for?(:campfire)
-        end
-
-        def handle
-          Travis::Addons::Campfire::Task.run(:campfire, payload, targets: targets)
-        end
-
-        def targets
-          @targets ||= config.notification_values(:campfire, :rooms)
-        end
-
-        Instruments::EventHandler.attach_to(self)
-      end
-    end
-  end
-end
diff --git a/vendor/travis-core/lib/travis/addons/campfire/instruments.rb b/vendor/travis-core/lib/travis/addons/campfire/instruments.rb
deleted file mode 100644
index c3b55de9..00000000
--- a/vendor/travis-core/lib/travis/addons/campfire/instruments.rb
+++ /dev/null
@@ -1,30 +0,0 @@
-require 'travis/notification/instrument/event_handler'
-require 'travis/notification/instrument/task'
-
-module Travis
-  module Addons
-    module Campfire
-      module Instruments
-        class EventHandler < Notification::Instrument::EventHandler
-          def notify_completed
-            publish(:targets => handler.targets)
-          end
-        end
-
-        class Task < Notification::Instrument::Task
-          def run_completed
-            publish(
-              :msg => "for #<Build id=#{payload[:build][:id]}>",
-              :repository => payload[:repository][:slug],
-              # :request_id => payload['request'][:id], # TODO
-              :object_type => 'Build',
-              :object_id => payload[:build][:id],
-              :targets => task.targets,
-              :message => task.message
-            )
-          end
-        end
-      end
-    end
-  end
-end
diff --git a/vendor/travis-core/lib/travis/addons/email.rb b/vendor/travis-core/lib/travis/addons/email.rb
deleted file mode 100644
index 743d3f3f..00000000
--- a/vendor/travis-core/lib/travis/addons/email.rb
+++ /dev/null
@@ -1,10 +0,0 @@
-module Travis
-  module Addons
-    module Email
-
-      require 'travis/addons/email/instruments'
-      require 'travis/addons/email/event_handler'
-      class Task < ::Travis::Task; end
-    end
-  end
-end
diff --git a/vendor/travis-core/lib/travis/addons/email/event_handler.rb b/vendor/travis-core/lib/travis/addons/email/event_handler.rb
deleted file mode 100644
index afdd4170..00000000
--- a/vendor/travis-core/lib/travis/addons/email/event_handler.rb
+++ /dev/null
@@ -1,56 +0,0 @@
-require 'travis/addons/email/instruments'
-require 'travis/event/handler'
-require 'travis/model/broadcast'
-
-module Travis
-  module Addons
-    module Email
-
-      # Sends out build notification emails using ActionMailer.
-      class EventHandler < Event::Handler
-        API_VERSION = 'v2'
-
-        EVENTS = ['build:finished', 'build:canceled']
-
-        def handle?
-          !pull_request? && config.enabled?(:email) && config.send_on_finished_for?(:email) && recipients.present?
-        end
-
-        def handle
-          Travis::Addons::Email::Task.run(:email, payload, recipients: recipients, broadcasts: broadcasts)
-        end
-
-        def recipients
-          @recipients ||= begin
-            recipients = config.notification_values(:email, :recipients)
-            recipients = config.notifications[:recipients] if recipients.blank? # TODO deprecate recipients
-            recipients = default_recipients                if recipients.blank?
-            Array(recipients).join(',').split(',').map(&:strip).select(&:present?).uniq
-          end
-        end
-
-        private
-
-          def pull_request?
-            build['pull_request']
-          end
-
-          def broadcasts
-            Broadcast.by_repo(object.repository).map do |broadcast|
-              { message: broadcast.message }
-            end
-          end
-
-          def default_recipients
-            recipients = object.repository.users.map {|u| u.emails.map(&:email)}.flatten
-            recipients.keep_if do |r|
-              r == object.commit.author_email or
-              r == object.commit.committer_email
-            end
-          end
-
-          Instruments::EventHandler.attach_to(self)
-      end
-    end
-  end
-end
diff --git a/vendor/travis-core/lib/travis/addons/email/instruments.rb b/vendor/travis-core/lib/travis/addons/email/instruments.rb
deleted file mode 100644
index 4cc5c3bd..00000000
--- a/vendor/travis-core/lib/travis/addons/email/instruments.rb
+++ /dev/null
@@ -1,30 +0,0 @@
-require 'travis/notification/instrument/event_handler'
-require 'travis/notification/instrument/task'
-
-module Travis
-  module Addons
-    module Email
-      module Instruments
-        class EventHandler < Notification::Instrument::EventHandler
-          def notify_completed
-            publish(:recipients => handler.recipients)
-          end
-        end
-
-        class Task < Notification::Instrument::Task
-          def run_completed
-            publish(
-              :msg => "for #<Build id=#{payload[:build][:id]}>",
-              :repository => payload[:repository][:slug],
-              # :request_id => payload['request_id'], # TODO
-              :object_type => 'Build',
-              :object_id => payload[:build][:id],
-              :email => task.type,
-              :recipients => task.recipients
-            )
-          end
-        end
-      end
-    end
-  end
-end
diff --git a/vendor/travis-core/lib/travis/addons/flowdock.rb b/vendor/travis-core/lib/travis/addons/flowdock.rb
deleted file mode 100644
index bbd62f1d..00000000
--- a/vendor/travis-core/lib/travis/addons/flowdock.rb
+++ /dev/null
@@ -1,10 +0,0 @@
-module Travis
-  module Addons
-    module Flowdock
-      require 'travis/addons/flowdock/instruments'
-      require 'travis/addons/flowdock/event_handler'
-      class Task < ::Travis::Task; end
-    end
-  end
-end
-
diff --git a/vendor/travis-core/lib/travis/addons/flowdock/event_handler.rb b/vendor/travis-core/lib/travis/addons/flowdock/event_handler.rb
deleted file mode 100644
index 0743ae44..00000000
--- a/vendor/travis-core/lib/travis/addons/flowdock/event_handler.rb
+++ /dev/null
@@ -1,39 +0,0 @@
-require 'travis/addons/flowdock/instruments'
-require 'travis/event/handler'
-
-module Travis
-  module Addons
-    module Flowdock
-
-      # Publishes a build notification to Flowdock rooms as defined in the
-      # configuration (`.travis.yml`).
-      #
-      # Flowdock credentials are encrypted using the repository's ssl key.
-      class EventHandler < Event::Handler
-        API_VERSION = 'v2'
-
-        EVENTS = /build:finished/
-
-        def initialize(*)
-          super
-          @payload = Api::Serialize.data(object, for: 'event', version: 'v0', params: data)
-        end
-
-        def handle?
-          !pull_request? && targets.present? && config.send_on_finished_for?(:flowdock)
-        end
-
-        def handle
-          Travis::Addons::Flowdock::Task.run(:flowdock, payload, targets: targets)
-        end
-
-        def targets
-          @targets ||= config.notification_values(:flowdock, :rooms)
-        end
-
-        Instruments::EventHandler.attach_to(self)
-      end
-    end
-  end
-end
-
diff --git a/vendor/travis-core/lib/travis/addons/flowdock/instruments.rb b/vendor/travis-core/lib/travis/addons/flowdock/instruments.rb
deleted file mode 100644
index 421132ed..00000000
--- a/vendor/travis-core/lib/travis/addons/flowdock/instruments.rb
+++ /dev/null
@@ -1,31 +0,0 @@
-require 'travis/notification/instrument/event_handler'
-require 'travis/notification/instrument/task'
-
-module Travis
-  module Addons
-    module Flowdock
-      module Instruments
-        class EventHandler < Notification::Instrument::EventHandler
-          def notify_completed
-            publish(:targets => handler.targets)
-          end
-        end
-
-        class Task < Notification::Instrument::Task
-          def run_completed
-            publish(
-              :msg => "for #<Build id=#{payload[:build][:id]}>",
-              :repository => payload[:repository][:slug],
-              # :request_id => payload['request'][:id], # TODO
-              :object_type => 'Build',
-              :object_id => payload[:build][:id],
-              :targets => task.targets,
-              :message => task.message
-            )
-          end
-        end
-      end
-    end
-  end
-end
-
diff --git a/vendor/travis-core/lib/travis/addons/github_status.rb b/vendor/travis-core/lib/travis/addons/github_status.rb
deleted file mode 100644
index d3886d74..00000000
--- a/vendor/travis-core/lib/travis/addons/github_status.rb
+++ /dev/null
@@ -1,10 +0,0 @@
-module Travis
-  module Addons
-    module GithubStatus
-      require 'travis/addons/github_status/instruments'
-      require 'travis/addons/github_status/event_handler'
-      class Task < ::Travis::Task; end
-    end
-  end
-end
-
diff --git a/vendor/travis-core/lib/travis/addons/github_status/event_handler.rb b/vendor/travis-core/lib/travis/addons/github_status/event_handler.rb
deleted file mode 100644
index 2aae7fa5..00000000
--- a/vendor/travis-core/lib/travis/addons/github_status/event_handler.rb
+++ /dev/null
@@ -1,74 +0,0 @@
-require 'travis/addons/github_status/instruments'
-require 'travis/event/handler'
-
-module Travis
-  module Addons
-    module GithubStatus
-
-      # Adds a comment with a build notification to the pull-request the request
-      # belongs to.
-      class EventHandler < Event::Handler
-        API_VERSION = 'v2'
-        EVENTS = /build:(created|started|finished|canceled)/
-
-        def handle?
-          return token.present? unless multi_token?
-
-          unless tokens.any?
-            error "No GitHub OAuth tokens found for #{object.repository.slug}"
-          end
-
-          tokens.any?
-        end
-
-        def handle
-          if multi_token?
-            Travis::Addons::GithubStatus::Task.run(:github_status, payload, tokens: tokens)
-          else
-            Travis::Addons::GithubStatus::Task.run(:github_status, payload, token: token)
-          end
-        end
-
-        private
-
-        def token
-          admin.try(:github_oauth_token)
-        end
-
-        def tokens
-          @tokens ||= users.map { |user| { user.login => user.github_oauth_token } }.inject({}, :merge)
-        end
-
-        def users
-          @users ||= [
-            build_committer,
-            admin,
-            users_with_push_access,
-          ].flatten.compact
-        end
-
-        def build_committer
-          user = User.with_email(object.commit.committer_email)
-          user if user && user.permission?(repository_id: object.repository.id, push: true)
-        end
-
-        def admin
-          @admin ||= Travis.run_service(:find_admin, repository: object.repository)
-        rescue Travis::AdminMissing
-          nil
-        end
-
-        def users_with_push_access
-          object.repository.users_with_permission(:push)
-        end
-
-        def multi_token?
-          !Travis::Features.feature_deactivated?(:github_status_multi_tokens)
-        end
-
-        Instruments::EventHandler.attach_to(self)
-      end
-    end
-  end
-end
-
diff --git a/vendor/travis-core/lib/travis/addons/github_status/instruments.rb b/vendor/travis-core/lib/travis/addons/github_status/instruments.rb
deleted file mode 100644
index 525742fa..00000000
--- a/vendor/travis-core/lib/travis/addons/github_status/instruments.rb
+++ /dev/null
@@ -1,30 +0,0 @@
-require 'travis/notification/instrument/event_handler'
-require 'travis/notification/instrument/task'
-
-module Travis
-  module Addons
-    module GithubStatus
-      module Instruments
-        class EventHandler < Notification::Instrument::EventHandler
-          def notify_completed
-            publish
-          end
-        end
-
-        class Task < Notification::Instrument::Task
-          def run_completed
-            publish(
-              :msg => "for #<Build id=#{payload[:build][:id]}>",
-              :repository => payload[:repository][:slug],
-              # :request_id => payload['request_id'], # TODO
-              :object_type => 'Build',
-              :object_id => payload[:build][:id],
-              :url => task.url.to_s
-            )
-          end
-        end
-      end
-    end
-  end
-end
-
diff --git a/vendor/travis-core/lib/travis/addons/hipchat.rb b/vendor/travis-core/lib/travis/addons/hipchat.rb
deleted file mode 100644
index b8664ff8..00000000
--- a/vendor/travis-core/lib/travis/addons/hipchat.rb
+++ /dev/null
@@ -1,10 +0,0 @@
-module Travis
-  module Addons
-    module Hipchat
-      require 'travis/addons/hipchat/instruments'
-      require 'travis/addons/hipchat/event_handler'
-      class Task < ::Travis::Task; end
-    end
-  end
-end
-
diff --git a/vendor/travis-core/lib/travis/addons/hipchat/event_handler.rb b/vendor/travis-core/lib/travis/addons/hipchat/event_handler.rb
deleted file mode 100644
index 73a8657e..00000000
--- a/vendor/travis-core/lib/travis/addons/hipchat/event_handler.rb
+++ /dev/null
@@ -1,40 +0,0 @@
-require 'travis/addons/hipchat/instruments'
-require 'travis/event/handler'
-
-module Travis
-  module Addons
-    module Hipchat
-
-      # Publishes a build notification to hipchat rooms as defined in the
-      # configuration (`.travis.yml`).
-      #
-      # Hipchat credentials are encrypted using the repository's ssl key.
-      class EventHandler < Event::Handler
-        API_VERSION = 'v2'
-
-        EVENTS = /build:finished/
-
-        def handle?
-          enabled? && targets.present? && config.send_on_finished_for?(:hipchat)
-        end
-
-        def handle
-          Travis::Addons::Hipchat::Task.run(:hipchat, payload, targets: targets)
-        end
-
-        def enabled?
-          enabled = config.notification_values(:hipchat, :on_pull_requests)
-          enabled = true if enabled.nil?
-          pull_request? ? enabled : true
-        end
-
-        def targets
-          @targets ||= config.notification_values(:hipchat, :rooms)
-        end
-
-        Instruments::EventHandler.attach_to(self)
-      end
-    end
-  end
-end
-
diff --git a/vendor/travis-core/lib/travis/addons/hipchat/instruments.rb b/vendor/travis-core/lib/travis/addons/hipchat/instruments.rb
deleted file mode 100644
index b1fa6472..00000000
--- a/vendor/travis-core/lib/travis/addons/hipchat/instruments.rb
+++ /dev/null
@@ -1,31 +0,0 @@
-require 'travis/notification/instrument/event_handler'
-require 'travis/notification/instrument/task'
-
-module Travis
-  module Addons
-    module Hipchat
-      module Instruments
-        class EventHandler < Notification::Instrument::EventHandler
-          def notify_completed
-            publish(:targets => handler.targets)
-          end
-        end
-
-        class Task < Notification::Instrument::Task
-          def run_completed
-            publish(
-              :msg => "for #<Build id=#{payload[:build][:id]}>",
-              :repository => payload[:repository][:slug],
-              # :request_id => payload['request'][:id], # TODO
-              :object_type => 'Build',
-              :object_id => payload[:build][:id],
-              :targets => task.targets,
-              :message => task.message
-            )
-          end
-        end
-      end
-    end
-  end
-end
-
diff --git a/vendor/travis-core/lib/travis/addons/irc.rb b/vendor/travis-core/lib/travis/addons/irc.rb
deleted file mode 100644
index f5fc6133..00000000
--- a/vendor/travis-core/lib/travis/addons/irc.rb
+++ /dev/null
@@ -1,10 +0,0 @@
-module Travis
-  module Addons
-    module Irc
-      require 'travis/addons/irc/instruments'
-      require 'travis/addons/irc/event_handler'
-      class Task < ::Travis::Task; end
-    end
-  end
-end
-
diff --git a/vendor/travis-core/lib/travis/addons/irc/event_handler.rb b/vendor/travis-core/lib/travis/addons/irc/event_handler.rb
deleted file mode 100644
index dc50ae9b..00000000
--- a/vendor/travis-core/lib/travis/addons/irc/event_handler.rb
+++ /dev/null
@@ -1,32 +0,0 @@
-require 'travis/addons/irc/instruments'
-require 'travis/event/handler'
-
-module Travis
-  module Addons
-    module Irc
-
-      # Publishes a build notification to IRC channels as defined in the
-      # configuration (`.travis.yml`).
-      class EventHandler < Event::Handler
-        API_VERSION = 'v2'
-
-        EVENTS = 'build:finished'
-
-        def handle?
-          !pull_request? && channels.present? && config.send_on_finished_for?(:irc)
-        end
-
-        def handle
-          Travis::Addons::Irc::Task.run(:irc, payload, channels: channels)
-        end
-
-        def channels
-          @channels ||= config.notification_values(:irc, :channels)
-        end
-
-        Instruments::EventHandler.attach_to(self)
-      end
-    end
-  end
-end
-
diff --git a/vendor/travis-core/lib/travis/addons/irc/instruments.rb b/vendor/travis-core/lib/travis/addons/irc/instruments.rb
deleted file mode 100644
index ee013770..00000000
--- a/vendor/travis-core/lib/travis/addons/irc/instruments.rb
+++ /dev/null
@@ -1,31 +0,0 @@
-require 'travis/notification/instrument/event_handler'
-require 'travis/notification/instrument/task'
-
-module Travis
-  module Addons
-    module Irc
-      module Instruments
-        class EventHandler < Notification::Instrument::EventHandler
-          def notify_completed
-            publish(:channels => handler.channels)
-          end
-        end
-
-        class Task < Notification::Instrument::Task
-          def run_completed
-            publish(
-              :msg => "for #<Build id=#{payload[:build][:id]}>",
-              :repository => payload[:repository][:slug],
-              # :request_id => payload['request_id'], # TODO
-              :object_type => 'Build',
-              :object_id => payload[:build][:id],
-              :channels => task.channels,
-              :messages => task.messages
-            )
-          end
-        end
-      end
-    end
-  end
-end
-
diff --git a/vendor/travis-core/lib/travis/addons/pusher.rb b/vendor/travis-core/lib/travis/addons/pusher.rb
deleted file mode 100644
index 90564fc3..00000000
--- a/vendor/travis-core/lib/travis/addons/pusher.rb
+++ /dev/null
@@ -1,11 +0,0 @@
-module Travis
-  module Addons
-    module Pusher
-      require 'travis/addons/pusher/instruments'
-      require 'travis/addons/pusher/event_handler'
-
-      class Task < ::Travis::Task; end
-    end
-  end
-end
-
diff --git a/vendor/travis-core/lib/travis/addons/pusher/event_handler.rb b/vendor/travis-core/lib/travis/addons/pusher/event_handler.rb
deleted file mode 100644
index 3c72efea..00000000
--- a/vendor/travis-core/lib/travis/addons/pusher/event_handler.rb
+++ /dev/null
@@ -1,57 +0,0 @@
-require 'travis/addons/pusher/instruments'
-require 'travis/event/handler'
-
-module Travis
-  module Addons
-    module Pusher
-
-      # Notifies registered clients about various state changes through Pusher.
-      class EventHandler < Event::Handler
-        EVENTS = [
-          /^build:(created|received|started|finished|canceled)/,
-          /^job:test:(created|received|started|log|finished|canceled)/
-        ]
-
-        attr_reader :channels, :pusher_payload
-
-        def initialize(*)
-          super
-          @pusher_payload = Api::Serialize.data(object, :for => 'pusher', :type => type, :params => data) if handle?
-        end
-
-        def handle?
-          true
-        end
-
-        def handle
-          Travis::Addons::Pusher::Task.run(queue, pusher_payload, :event => event)
-        end
-
-        private
-
-          def type
-            event.sub('test:', '').sub(':', '/')
-          end
-
-          def queue
-            if Travis::Features.enabled_for_all?(:"pusher-live") ||
-               Travis::Features.repository_active?(:"pusher-live", repository_id)
-              :"pusher-live"
-            else
-              :pusher
-            end
-          end
-
-          def repository_id
-            if payload && payload['repository'] && payload['repository']['id']
-              payload['repository']['id']
-            elsif object && object.repository && object.repository.id
-              object.repository.id
-            end
-          end
-
-          Instruments::EventHandler.attach_to(self)
-      end
-    end
-  end
-end
diff --git a/vendor/travis-core/lib/travis/addons/pusher/instruments.rb b/vendor/travis-core/lib/travis/addons/pusher/instruments.rb
deleted file mode 100644
index 97d5f5ff..00000000
--- a/vendor/travis-core/lib/travis/addons/pusher/instruments.rb
+++ /dev/null
@@ -1,42 +0,0 @@
-require 'travis/notification/instrument/event_handler'
-require 'travis/notification/instrument/task'
-
-module Travis
-  module Addons
-    module Pusher
-      module Instruments
-        def self.publish?(event)
-          event.to_s != 'job:test:log'
-        end
-
-        class EventHandler < Notification::Instrument::EventHandler
-          def notify_completed
-            publish if Instruments.publish?(handler.event)
-          end
-        end
-
-        class Task < Notification::Instrument::Task
-          def run_completed
-            publish(
-              :msg => "for #<#{type.camelize} id=#{id}> (event: #{task.event}, channels: #{task.channels.join(', ')})",
-              :object_type => type.camelize,
-              :object_id => id,
-              :event => task.event,
-              :client_event => task.client_event,
-              :channels => task.channels
-            ) if Instruments.publish?(task.event)
-          end
-
-          def type
-            @type ||= task.event.split(':').first
-          end
-
-          def id
-            payload.key?(type.to_sym) ? payload[type.to_sym][:id] : payload[:id]
-          end
-        end
-      end
-    end
-  end
-end
-
diff --git a/vendor/travis-core/lib/travis/addons/pushover.rb b/vendor/travis-core/lib/travis/addons/pushover.rb
deleted file mode 100644
index 10cbd194..00000000
--- a/vendor/travis-core/lib/travis/addons/pushover.rb
+++ /dev/null
@@ -1,13 +0,0 @@
-module Travis
-  module Addons
-    module Pushover
-      module Instruments
-        require 'travis/addons/pushover/instruments'
-      end
-
-      require 'travis/addons/pushover/event_handler'
-
-      class Task < ::Travis::Task; end
-    end
-  end
-end
diff --git a/vendor/travis-core/lib/travis/addons/pushover/event_handler.rb b/vendor/travis-core/lib/travis/addons/pushover/event_handler.rb
deleted file mode 100644
index 123e9495..00000000
--- a/vendor/travis-core/lib/travis/addons/pushover/event_handler.rb
+++ /dev/null
@@ -1,37 +0,0 @@
-require 'travis/addons/pushover/instruments'
-require 'travis/event/handler'
-
-module Travis
-  module Addons
-    module Pushover
-
-      # Publishes a build notification to pushover users as defined in the
-      # configuration (`.travis.yml`).
-      #
-      # Credentials are encrypted using the repository's ssl key.
-      class EventHandler < Event::Handler
-        API_VERSION = 'v2'
-
-        EVENTS = /build:finished/
-
-        def handle?
-          !pull_request? && users.present? && api_key.present? && config.send_on_finished_for?(:pushover)
-        end
-
-        def handle
-          Travis::Addons::Pushover::Task.run(:pushover, payload, users: users, api_key: api_key)
-        end
-
-        def users
-          @users ||= config.notification_values(:pushover, :users)
-        end
-
-        def api_key
-          @api_key ||= config.notifications[:pushover][:api_key]
-        end
-
-        Instruments::EventHandler.attach_to(self)
-      end
-    end
-  end
-end
diff --git a/vendor/travis-core/lib/travis/addons/pushover/instruments.rb b/vendor/travis-core/lib/travis/addons/pushover/instruments.rb
deleted file mode 100644
index 6ed31392..00000000
--- a/vendor/travis-core/lib/travis/addons/pushover/instruments.rb
+++ /dev/null
@@ -1,30 +0,0 @@
-require 'travis/notification/instrument/event_handler'
-require 'travis/notification/instrument/task'
-
-module Travis
-  module Addons
-    module Pushover
-      module Instruments
-        class EventHandler < Notification::Instrument::EventHandler
-          def notify_completed
-            publish(:users => handler.users, :api_key => handler.api_key)
-          end
-        end
-
-        class Task < Notification::Instrument::Task
-          def run_completed
-            publish(
-              :msg => "for #<Build id=#{payload[:build][:id]}>",
-              :repository => payload[:repository][:slug],
-              :object_type => 'Build',
-              :object_id => payload[:build][:id],
-              :users => task.users,
-              :message => task.message,
-              :api_key => task.api_key
-            )
-          end
-        end
-      end
-    end
-  end
-end
diff --git a/vendor/travis-core/lib/travis/addons/slack.rb b/vendor/travis-core/lib/travis/addons/slack.rb
deleted file mode 100644
index 1d682235..00000000
--- a/vendor/travis-core/lib/travis/addons/slack.rb
+++ /dev/null
@@ -1,11 +0,0 @@
-module Travis
-  module Addons
-    module Slack
-      require 'travis/addons/slack/instruments'
-      require 'travis/addons/slack/event_handler'
-
-      class Task < ::Travis::Task; end
-    end
-  end
-end
-
diff --git a/vendor/travis-core/lib/travis/addons/slack/event_handler.rb b/vendor/travis-core/lib/travis/addons/slack/event_handler.rb
deleted file mode 100644
index 9cfa2c80..00000000
--- a/vendor/travis-core/lib/travis/addons/slack/event_handler.rb
+++ /dev/null
@@ -1,30 +0,0 @@
-module Travis
-  module Addons
-    module Slack
-
-      # Publishes a build notification to Slack rooms as defined in the
-      # configuration (`.travis.yml`).
-      #
-      # Slack credentials are encrypted using the repository's ssl key.
-      class EventHandler < Event::Handler
-        API_VERSION = 'v2'
-
-        EVENTS = /build:finished/
-
-        def handle?
-          targets.present? && config.send_on_finished_for?(:slack)
-        end
-
-        def handle
-          Travis::Addons::Slack::Task.run(:slack, payload, targets: targets)
-        end
-
-        def targets
-          @targets ||= config.notification_values(:slack, :rooms)
-        end
-
-        Instruments::EventHandler.attach_to(self)
-      end
-    end
-  end
-end
diff --git a/vendor/travis-core/lib/travis/addons/slack/instruments.rb b/vendor/travis-core/lib/travis/addons/slack/instruments.rb
deleted file mode 100644
index ca3de728..00000000
--- a/vendor/travis-core/lib/travis/addons/slack/instruments.rb
+++ /dev/null
@@ -1,25 +0,0 @@
-module Travis
-  module Addons
-    module Slack
-      module Instruments
-        class EventHandler < Notification::Instrument::EventHandler
-          def notify_completed
-            publish(:targets => handler.targets)
-          end
-        end
-
-        class Task < Notification::Instrument::Task
-          def run_completed
-            publish(
-              :msg => "for #<Build id=#{payload[:build][:id]}>",
-              :repository => payload[:repository][:slug],
-              :object_type => 'Build',
-              :object_id => payload[:build][:id],
-              :targets => task.targets
-            )
-          end
-        end
-      end
-    end
-  end
-end
diff --git a/vendor/travis-core/lib/travis/addons/sqwiggle.rb b/vendor/travis-core/lib/travis/addons/sqwiggle.rb
deleted file mode 100644
index 17829b38..00000000
--- a/vendor/travis-core/lib/travis/addons/sqwiggle.rb
+++ /dev/null
@@ -1,11 +0,0 @@
-module Travis
-  module Addons
-    module Sqwiggle
-      require 'travis/addons/sqwiggle/instruments'
-      require 'travis/addons/sqwiggle/event_handler'
-
-      class Task < ::Travis::Task; end
-    end
-  end
-end
-
diff --git a/vendor/travis-core/lib/travis/addons/sqwiggle/event_handler.rb b/vendor/travis-core/lib/travis/addons/sqwiggle/event_handler.rb
deleted file mode 100644
index a12ba383..00000000
--- a/vendor/travis-core/lib/travis/addons/sqwiggle/event_handler.rb
+++ /dev/null
@@ -1,30 +0,0 @@
-module Travis
-  module Addons
-    module Sqwiggle
-
-      # Publishes a build notification to sqwiggle rooms as defined in the
-      # configuration (`.travis.yml`).
-      #
-      # sqwiggle credentials are encrypted using the repository's ssl key.
-      class EventHandler < Event::Handler
-
-        EVENTS = /build:finished/
-
-        def handle?
-          !pull_request? && targets.present? && config.send_on_finished_for?(:sqwiggle)
-        end
-
-        def handle
-          Travis::Addons::Sqwiggle::Task.run(:sqwiggle, payload, targets: targets)
-        end
-
-        def targets
-          @targets ||= config.notification_values(:sqwiggle, :rooms)
-        end
-
-        Instruments::EventHandler.attach_to(self)
-      end
-    end
-  end
-end
-
diff --git a/vendor/travis-core/lib/travis/addons/sqwiggle/instruments.rb b/vendor/travis-core/lib/travis/addons/sqwiggle/instruments.rb
deleted file mode 100644
index 6daa5d79..00000000
--- a/vendor/travis-core/lib/travis/addons/sqwiggle/instruments.rb
+++ /dev/null
@@ -1,29 +0,0 @@
-module Travis
-  module Addons
-    module Sqwiggle
-      module Instruments
-        class EventHandler < Notification::Instrument::EventHandler
-          def notify_completed
-            publish(:targets => handler.targets)
-          end
-        end
-
-        class Task < Notification::Instrument::Task
-          def run_completed
-            publish(
-              :msg => "for #<Build id=#{payload[:build][:id]}>",
-              :repository => payload[:repository][:slug],
-              # :request_id => payload['request'][:id], # TODO
-              :object_type => 'Build',
-              :object_id => payload[:build][:id],
-              :targets => task.targets,
-              :message => task.message
-            )
-          end
-        end
-      end
-    end
-  end
-end
-
-
diff --git a/vendor/travis-core/lib/travis/addons/states_cache.rb b/vendor/travis-core/lib/travis/addons/states_cache.rb
deleted file mode 100644
index c33a1ea2..00000000
--- a/vendor/travis-core/lib/travis/addons/states_cache.rb
+++ /dev/null
@@ -1,7 +0,0 @@
-module Travis
-  module Addons
-    module StatesCache
-      require 'travis/addons/states_cache/event_handler'
-    end
-  end
-end
diff --git a/vendor/travis-core/lib/travis/addons/states_cache/event_handler.rb b/vendor/travis-core/lib/travis/addons/states_cache/event_handler.rb
deleted file mode 100644
index a786287c..00000000
--- a/vendor/travis-core/lib/travis/addons/states_cache/event_handler.rb
+++ /dev/null
@@ -1,47 +0,0 @@
-require 'travis/event/handler'
-
-module Travis
-  module Addons
-    module StatesCache
-      class EventHandler < Event::Handler
-        EVENTS = /build:finished/
-
-        def handle?
-          states_cache_enabled = Travis::Features.feature_active?(:states_cache)
-          result = !pull_request? && states_cache_enabled
-          Travis.logger.info("[states-cache] Checking if event handler should be run for " +
-            "repo_id=#{repository_id} branch=#{branch} build_id=#{build['id']}, result: #{result}, " +
-            "pull_request: #{pull_request?} states_cache_enabled: #{states_cache_enabled}")
-          result
-        end
-
-        def handle
-          Travis.logger.info("[states-cache] Running event handler for repo_id=#{repository_id} build_id=#{build['id']} branch=#{branch}")
-          cache.write(repository_id, branch, data)
-        rescue Exception => e
-          Travis.logger.error("[states-cache] An error occurred while trying to handle states cache update: #{e.message}\n#{e.backtrace}")
-          raise
-        end
-
-        def cache
-          Travis.states_cache
-        end
-
-        def repository_id
-          build['repository_id']
-        end
-
-        def branch
-          commit['branch']
-        end
-
-        def data
-          {
-            'id'    => build['id'],
-            'state' => build['state']
-          }
-        end
-      end
-    end
-  end
-end
diff --git a/vendor/travis-core/lib/travis/addons/util.rb b/vendor/travis-core/lib/travis/addons/util.rb
deleted file mode 100644
index 3a0e1075..00000000
--- a/vendor/travis-core/lib/travis/addons/util.rb
+++ /dev/null
@@ -1,7 +0,0 @@
-module Travis
-  module Addons
-    module Util
-      require 'travis/addons/util/template'
-    end
-  end
-end
diff --git a/vendor/travis-core/lib/travis/addons/webhook.rb b/vendor/travis-core/lib/travis/addons/webhook.rb
deleted file mode 100644
index 3c03922c..00000000
--- a/vendor/travis-core/lib/travis/addons/webhook.rb
+++ /dev/null
@@ -1,11 +0,0 @@
-module Travis
-  module Addons
-    module Webhook
-      require 'travis/addons/webhook/instruments'
-      require 'travis/addons/webhook/event_handler'
-
-      class Task < ::Travis::Task; end
-    end
-  end
-end
-
diff --git a/vendor/travis-core/lib/travis/addons/webhook/event_handler.rb b/vendor/travis-core/lib/travis/addons/webhook/event_handler.rb
deleted file mode 100644
index 3a705090..00000000
--- a/vendor/travis-core/lib/travis/addons/webhook/event_handler.rb
+++ /dev/null
@@ -1,39 +0,0 @@
-require 'travis/addons/webhook/instruments'
-require 'travis/event/handler'
-
-# TODO include_logs? has been removed. gotta be deprecated!
-#
-module Travis
-  module Addons
-    module Webhook
-
-      # Sends build notifications to webhooks as defined in the configuration
-      # (`.travis.yml`).
-      class EventHandler < Event::Handler
-        EVENTS = /build:(started|finished)/
-
-        def initialize(*)
-          super
-        end
-
-        def handle?
-          targets.present? && config.send_on?(:webhooks, event.split(':').last)
-        end
-
-        def handle
-          Travis::Addons::Webhook::Task.run(:webhook, webhook_payload, targets: targets, token: request['token'])
-        end
-
-        def webhook_payload
-          Api::Serialize.data(object, :for => 'webhook', :type => 'build/finished', :version => 'v1')
-        end
-
-        def targets
-          @targets ||= config.notification_values(:webhooks, :urls)
-        end
-
-        Instruments::EventHandler.attach_to(self)
-      end
-    end
-  end
-end
diff --git a/vendor/travis-core/lib/travis/addons/webhook/instruments.rb b/vendor/travis-core/lib/travis/addons/webhook/instruments.rb
deleted file mode 100644
index 9552f04d..00000000
--- a/vendor/travis-core/lib/travis/addons/webhook/instruments.rb
+++ /dev/null
@@ -1,29 +0,0 @@
-require 'travis/notification/instrument/event_handler'
-require 'travis/notification/instrument/task'
-
-module Travis
-  module Addons
-    module Webhook
-      module Instruments
-        class EventHandler < Notification::Instrument::EventHandler
-          def notify_completed
-            publish(:targets => handler.targets)
-          end
-        end
-
-        class Task < Notification::Instrument::Task
-          def run_completed
-            publish(
-              :msg => "for #<Build id=#{payload[:id]}>",
-              :repository => payload[:repository].values_at(:owner_name, :name).join('/'),
-              :object_type => 'Build',
-              :object_id => payload[:id],
-              :targets => task.targets
-            )
-          end
-        end
-      end
-    end
-  end
-end
-
diff --git a/vendor/travis-core/lib/travis/version.rb b/vendor/travis-core/lib/travis/version.rb
deleted file mode 100644
index 1214aa54..00000000
--- a/vendor/travis-core/lib/travis/version.rb
+++ /dev/null
@@ -1,3 +0,0 @@
-module Travis
-  VERSION = "0.0.1"
-end
diff --git a/vendor/travis-core/travis-core.gemspec b/vendor/travis-core/travis-core.gemspec
deleted file mode 100644
index 5eb06b14..00000000
--- a/vendor/travis-core/travis-core.gemspec
+++ /dev/null
@@ -1,48 +0,0 @@
-# encoding: utf-8
-
-$:.unshift File.expand_path('../lib', __FILE__)
-require 'travis/version'
-
-Gem::Specification.new do |s|
-  s.name         = "travis-core"
-  s.version      = Travis::VERSION
-  s.authors      = ["Travis CI"]
-  s.email        = "contact@travis-ci.org"
-  s.homepage     = "https://github.com/travis-ci/travis-core"
-  s.summary      = "The heart of Travis"
-
-  s.files        = Dir['{lib/**/*,spec/**/*,[A-Z]*}']
-  s.platform     = Gem::Platform::RUBY
-  s.require_path = 'lib'
-  s.rubyforge_project = '[none]'
-
-  s.add_dependency 'rake'
-  s.add_dependency 'thor'
-  s.add_dependency 'activerecord',      '~> 3.2.19'
-  s.add_dependency 'railties',          '~> 3.2.19'
-  s.add_dependency 'rollout',           '~> 1.1.0'
-  s.add_dependency 'coder',             '~> 0.4.0'
-  s.add_dependency 'virtus',            '~> 1.0.0'
-
-  # travis
-  s.add_dependency 'travis-config',     '~> 0.1.0'
-
-  # db
-  s.add_dependency 'data_migrations',   '~> 0.0.1'
-  s.add_dependency 'redis',             '~> 3.0'
-
-
-  # structures
-  s.add_dependency 'hashr'
-  s.add_dependency 'metriks',           '~> 0.9.7'
-
-  # app
-  s.add_dependency 'simple_states',     '~> 1.0.0'
-
-  # apis
-  s.add_dependency 'pusher',            '~> 0.14.0'
-  s.add_dependency 's3',                '~> 0.3'
-  s.add_dependency 'gh'
-  s.add_dependency 'multi_json'
-  s.add_dependency 'google-api-client', '~> 0.9.4'
-end