Replaced behaviour_info/1 with new -callback specs
WARNING: this commit breaks compatibility with
         Erlang releases prior to R15