Stop inhereting from SparkContext/RDD and instead keep it inside of each class. This way the methods we expect to work is clear, you can still go poke at the underlying SparkContext/RDD if you know what you are doing :)