Companion objects!
null handling fixed.