Method Ordering Proposal

Here’s a proposal on how to handle the Method Ordering conundrum that’s come up in #56 and #44. Would love to hear what everyone thinks here.

I do think it makes sense to have a consistent way to do this, and this way has worked for me, but totally open to other ideas.
Private method implementations become public and vice versa all the time. Maybe it's just me, but I don't see much value in separating them within the implementation file, which in itself is already part of a separation between the public API and the private implementation.