Implement generic List properties

@jpsim 
any reason why this is `final`?