Triangles

Refactor Triangles according to last pull comments
This is kind of like killing a fly with a bazooka. You can just define the methods in the normal (non-meta) way & achieve a much more readable result.