User Module initial PR

Warning 42 commits ahead.

<!---
@huboard:{"order":69.75,"milestone_order":2.4375,"custom_state":""}
-->

Please don't throw, use the error callback instead.