cleanup compile warnings
Pull first input focus logic into a mixin
add properties to models and organize api model better