Compromise between single and multiple table inheritance with ActiveRecord