Major refactor! Finally getting compositions to work the way I want, still more work to do though.