Added some generics and moved state update responsability to each
builder
fix forge2 version 2.0.0.Alpha13