TRUNK-4004 Module should be able to say it needs to start before another module - implementing algorithm + some unit tests