```ruby
def ComputeResource.providers
  @provides ||= []
end

def ComputeResource.inherited(klass)
  providers << klass
end
```