void UserInterface::processHover(const glm::vec2 &pnt) {

    UIElement *hoveredElem;
    hoveredElem = findElem(pnt);
    if (hoveredElem == lastHovered)
        return;

    if (lastHovered != nullptr) {
        lastHovered->executeHoverOutAnimation();
        lastHovered = 0;
    }

    if (hoveredElem != nullptr) {
        hoveredElem->executeHoverOnAnimation();
        lastHovered = hoveredElem;
    }
}