In order to reduce duplication and facilitate ease of use of this
`AddButtonComponent`, a base `ViewComponent` has been extracted
where each individual sub component can implement the unique characteristics
to each of them such as their `render?` method or `dynamic_path`.