Hello, for some code I am writing, I'd like to have a couple of abstract classes. However I am not very sure how to go about it in Ruby. Ideally all I would need is: 1) The class cannot be instantiated and/or 2) The class is not visible outside of the module it comes in What would be the canonical way to go about this in Ruby? Should I use a mix-in module? Ideally I would prefer to use a class since all the subclasses have a similar instantiation so I'd like to code it only once and use super(), but then the user himself may try to instantiate it breaking the whole "magic". :) Thank you Diego