- removed lots of "final" keyword
- using parameterized type for class
- updated project settings to not generate final keywork per default