improve the interface as a way to scatter instead of a logic manager
add a default scatter implementation
update to compile