Force transaction functions to break if they modify controller state.  Do not make an assumption about the From gen_server data (it is more than a pid, so any gen_server:reply usage would have broken before, i.e., {pid(),Tag} == From, http://www.erlang.org/doc/man/gen_server.html#Module:handle_call-3).
Add integer timeouts to all the main boss_db functions.
Add poolboy configuration within the db_options.