Cleaner OOP implementation for the components.