Refactor the spec to make source management more simple and add a rake wrapper