Honestly, if you are going to have customizable class features, you may as well just break those features down into either separate classes or clearly defined sub-classes. Trying to force too many things into a single class in the name of customizability leads to watered down options, overly...