Chef has invented a new object system and execution model within Ruby.
Neither's approach is particularly good in this respect, but the latter is less onerous.