“Cannot inherit from non-open class” swift
Found the answer myself. In Swift 3 you can now mark a class as open instead of public this allows files outside of the module to subclass that class. Simply replace public in your module class with open. Reference here.