Made WebComponent abstract