Added GeneralObject with ToStyle abstract method + refactored.