Several fixes.

Fixed several issues, such as:
- moved UI element initialization into overridable methods
- forbidden use of underscored private methods
- fixed use of `- (id)init<ClassName>With…` (=> `- (id)initWith…`)
- replaced `+ (id)showAlertWith` with `+ (instancetype)showAlertWith`
- fixed use of `[<ClassName> alloc]` within the class itself. This breaks inheritance. Big time. (Use `[self alloc]` or `[[self class] alloc]` instead.)
- fixed void keys of associated objects (the whole customization thing via runtime is a bad & dirty hack)