Closes #46 many calls to getSource is not an issue as it is creates no new objects and is optimized away by JiT