equadrat framework core ioc dependency injection container bootstrapp serializer observable collection splitter merger sorting command dispatcher threading task logging owner token weak events binary heap queue stack tuple random data generator hash reflection embedded resource async interface atomic lock