def watch(ec)
      ec.watch('app/.*\.rb')        { |m| Providence::RspecWatchr.related(m[0]).map {|tf| Providence::RspecWatchr.run tf } }
      ec.watch('lib/.*\.rb')        { |m| Providence::RspecWatchr.related(m[0]).map {|tf| Providence::RspecWatchr.run tf } }
      ec.watch('spec/support/.*')   { Providence::RspecWatchr.run_all }
      ec.watch('spec/.*_spec\.rb')  { |m| Providence::RspecWatchr.run m[0] }
    end
def watch(ec)
      ec.watch('app/.*\.rb')        { |m| Providence::RspecWatchr.related(m[0]).map {|tf| Providence::RspecWatchr.run tf } }
      ec.watch('lib/.*\.rb')        { |m| Providence::RspecWatchr.related(m[0]).map {|tf| Providence::RspecWatchr.run tf } }
      ec.watch('spec/support/.*')   { Providence::RspecWatchr.run_all }
      ec.watch('spec/.*_spec\.rb')  { |m| Providence::RspecWatchr.run m[0] }
    end
order matters here, top is last to match, bottom is first