I think Zach covered a lot of the questions in your message. I just wanted to touch on your last question. You are able to modify the code, but when we push a new core release, and you update your version, our code will overwrite any files you have changed. The best way to get your changes implemented permanently is to contribute back to the open source code. You are able to do this through Github. If you are unfamiliar with Github, I would be more then willing to meet with you and walk through how to post your changes. We are also adding documentation for the contribution process to our website soon!
Let me know if there is anything I can do to help!