Added a some more specs, including a contextual one, and updated the initial spec to match the class. Also updated the class accordingly.
Added the third spec, and solved it. There are issues with this, but I think it's going to be refectored soon