Clean up and solidify abstraction layers for module / block layers