Making field final and using interface instead of class