Introduce Model trait to simply passing models around
Revamp features
Update Model
Push main(), FINALLY! :+1: