Fleshed out module system.