Defined the component interface and provided reasonable implementations where possible