Triangle() is now an object, allowing for better persistence and customisation going forward