Set up base class is not neccessary. I have implemented custom list field using JFormField as parent class. No need for class like specified in step 2, just write our getInput() or getOptions().