Let me bake up that ``signature`` method; I think it's a non-underscore method since a subclass is inheriting it, thus needing to know about it. To me, underscore signifies that it's used locally by that same class – by a non-underscore method (otherwise, why make it a method at all). But sometimes the lines are a little blurry. Some people use underscore to mean that this API might change in the future.