Pull request to master

Please restructure contents of this `init` method as such:
```
CGRect frame = ...
self = [super initWithFrame:frame];

if (self) { // this ensures that self was properly instantiated before doing any other setup to self
   // setup code
   lines 27 - 30
   lines 38 - 50
}

return self;
}
```
Calling the super's `init` method must take place first before any other setup is done. Please keep in mind this format when creating `init` methods :bow: