Enhanced Fodel, added companion object which has nice apply methods so Fodel can be used without 'new'

(cherry picked from commit a061b7f6a74083bff08f055db055c43e20e73140)