Clarify initialize in class definition structure

The `initialize` method is a particular anomaly in its behavior and definition. A strange and ambiguous characteristic is that it is defined as an instance method named `initialize` but is called as a *Class* method named `new`. 

For now, I have placed `initialize` as the first method to appear since it would appear in random places if it were to be placed alphabetically or after class methods. If anything, I would like this pull request to serve as a conversation starter.

That said, I am not particularly tied to placing it there and will modify the order if alternatives are preferred.