Break functionality down into modules.