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