Make sources final / use constructor args instead of anonymous inner classes