All of these are doable, most of them pretty easily with functionality already in the engine. These requests are pretty broad for me to write out detailed explanations on how to accomplish each. Perhaps individual posts on how to break each mechanic down will help the community help you