Added abstract component for easier memory management and reset functionality.